messages which throw exceptions don't have a level, as they are not logged immediately, but by the code which catches them. So the responsibility is delegated to the calling code.