I am trying to use RotatingHandler
for our logging purpose in Python. I have kept backup files as 500 which means it will create maximum of 500 files I guess and th
I know, it is very late ,but I just got same error, and while searching that are I got your problem. I am able to resolve my problem, and I thought it might be helpful for some other user also :
you have created a logger object and trying to access my_logger.config.fileConfig('log.conf') which is wrong you should use logger.config.fileConfig('log.conf') as I mention below and need to import logging.config as well :
#!/usr/bin/python
import logging
import logging.handlers
import logging.config
logging.config.fileConfig('log.config',disable_existing_loggers=0)
my_logger = logging.getLogger('you logger name as you mention in your conf file')
my_logger.debug('debug message')
my_logger.info('info message')
my_logger.warn('warn message')
my_logger.error('error message')
my_logger.critical('critical message')
after doing these changes, AttributeError: 'Logger' object has no attribute 'config' error must be gone.
It doesn't print out INFO, DEBUG message into the file somehow.. Any thoughts why it is not working out?
you don't seem to set a loglevel, so the default (warning) is used
from http://docs.python.org/2/library/logging.html :
Note that the root logger is created with level WARNING.
as for your second question, something like this should do the trick (I haven't tested it, just adapted from my config which is using the TimedRotatingFileHandler):
[loggers]
keys=root
[handlers]
keys=logfile
[formatters]
keys=logfileformatter
[logger_root]
level=DEBUG
handlers=logfile
[formatter_logfileformatter]
format=%(asctime)s %(name)-12s: %(levelname)s %(message)s
[handler_logfile]
class=handlers.RotatingFileHandler
level=NOTSET
args=('testing.log','a',2000,100)
formatter=logfileformatter