I am trying to setup a logging configuration to use in my different modules. I have followed different tutorials and stackoverflow posts (here, here and here) to write logs in to a project.log file.
While the information is displayed correctly in the console, the log.conf is read correctly, the project.log is created but is not filled with the warning messages.
Here is how I proceeded:
The log.conf file used to write up the handlers and formatting:
[loggers] keys=root,sLogger [handlers] keys=consoleHandler,fileHandler [formatters] keys=fileFormatter,consoleFormatter [logger_root] level=DEBUG handlers=consoleHandler [logger_sLogger] level=DEBUG handlers=consoleHandler,fileHandler qualname=sLogger propagate=0 [handler_consoleHandler] class=StreamHandler level=WARNING formatter=consoleFormatter args=(sys.stdout,) [handler_fileHandler] class=FileHandler level=WARNING formatter=fileFormatter args=('%(logfilename)s', 'w') [formatter_fileFormatter] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s In the main.py file:
import logging import logging.config def main(): logging.config.fileConfig(fname='./log.conf', defaults={'logfilename': 'project.log')}, disable_existing_loggers=False) logger = logging.getLogger(__name__) logger.warning('This is a message') In my module.py file:
import logging logger = logging.getLogger(__name__) logger.warning('Example of a warning message')