Dynamically changing log level without restarting the application
fileConfig
is a mechanism to configure the log level for you based on a file; you can dynamically change it at any time in your program.
Call .setLevel()
on the logging object for which you want to change the log level. Usually you'd do that on the root:
logging.getLogger().setLevel(logging.DEBUG)
Expanding on sfinken's answer, and Starman's subsequent comment, you can also check the type of the handler to target a specific outputter - for instance:
import logginglogger = logging.getLogger()for handler in logger.handlers: if isinstance(handler, type(logging.StreamHandler())): handler.setLevel(logging.DEBUG) logger.debug('Debug logging enabled')