allow level and message to be specified