Daiyue Weng wrote: > Hi, I am trying to use 'RotatingFileHandler' in a logging config file, > > import logging > import logging.config > import logging.handlers > > logging.config.fileConfig('logging.conf') > > > [loggers] > keys=root,ingestion_log > > [handlers] > keys=consoleHandler,fileHandler > > [formatters] > keys=ingestFormatter > > [logger_root] > level=DEBUG > handlers=consoleHandler > > [logger_ingestion_log] > level=DEBUG > handlers=handlers.RotatingFileHandler
The handlers listed above must be taken from the keys value in the [handlers] section. If you want a third logger you have to add a corresponding key there first under a name that you invented, e. g. [handlers] keys=consoleHandler,fileHandler,my_rotating_filehandler You also need a [handler_my_rotating_handler] section where you specify the class etc. Only then you can reference it in the logger section as [logger_ingestion_log] handlers=my_rotating_filehandler For the details have another look at https://docs.python.org/dev/library/logging.config.html#logging-config-fileformat > maxBytes=51200 > qualname=ingestion_log > propagate=0 > > [handler_consoleHandler] > class=StreamHandler > level=DEBUG > formatter=Formatter > args=(sys.stdout,) > > [handler_fileHandler] > class=FileHandler > level=DEBUG > formatter=Formatter > args=("log/logging.log",) > > [formatter_Formatter] > format=pathname~%(pathname)s||timestamp~%(asctime)s||level~%(levelname)s|| name~%(name)s||function_name~%(funcName)s||debug_message~%(message)s > datefmt=%m/%d/%Y %H:%M:%S > > > but Python generated a key error, > > C:\Continuum\Anaconda3\lib\logging\config.py:85: in fileConfig > _install_loggers(cp, handlers, disable_existing_loggers) > C:\Continuum\Anaconda3\lib\logging\config.py:254: in _install_loggers > logger.addHandler(handlers[hand]) > E KeyError: 'handlers.RotatingFileHandler' > > how to fix the errors? > > thanks -- https://mail.python.org/mailman/listinfo/python-list