The current default log level is INFO, but I propose that we change it to WARN.
- WARN Usual level, anything that is printed is interesting every time you see it
- INFO Extra verbosity if you are feeling nosy or something's odd (i.e. the first layer of added verbosity)
- DEBUG The sort of thing that you only need if you're willing to wade through a lot of semi-random information
- TRACE Even more material, but now specific to different sub-systems.
If you consult https://docs.python.org/2/howto/logging.html, "When to use logging” section you'll note that "The default level is WARNING" and INFO means, "Confirmation that things are working as expected".
+1 to Kian-Tat Lim's most recent proposal. I don't know how much work it requires inside the log package but I like it because it is the least disruptive to all code that uses the log package. That will continue to run without change, and we can change the level of existing messages based on time and demand.
Adopted as stated in the commentary by Kian-Tat Lim: Adding a new VERBOSE logging level between INFO and DEBUG and not changing the default log level from INFO to WARN.
It would be useful for the CmdLineActivator in the SuperTask system to allow individuals to set personal defaults for their preferred default logging visibility level.
This is now supported in the lsst.utils.logging.LsstLogAdapter class, which is the logging class now associated with all Tasks. The verbose log level is also understood by pipetask. This was facilitated by the switch away from lsst.log to python logging.
It looks like renaming DEBUG to VERBOSE and TRACE to DEBUG will be just as hard if not harder than adding a VERBOSE level. So, much as I would rather discourage adding new custom levels, it looks like the best way to resolve this is to create a new VERBOSE level and move most of the current INFO messages to it.
In any case, I would say that changing the default level from INFO to WARN is not desirable.