On 12/27/2011 05:26 PM, Littlefield, Tyler wrote:
Hello all:
I have a basic server I am working on, and wanted some input with an
error I'm getting.
I am initializing the logger like so:
if __name__ == "__main__":
observer = log.PythonLoggingObserver()
observer.start()
logging.basicConfig(filename='logs/server.log', level=logging.DEBUG,
format='%(asctime)s [%(levelname)s] %(module)s:%(funcname)s:%(lineno)d
%(message)s')
logger = logging.getLogger()
logger.addHandler(logging.handlers.TimedRotatingFileHandler)
You should pass an **instance** of the handler, not the class; so it
should look like this:
logger.addHandler(logging.handlers.TimedRotatingFileHandler(...))
if you want to configure the handler, e.g. configure how often the log
file is rotated, you can do it by passing parameters to the handler's
constructure, e.g.:
logger.addHandler(logging.handlers.TimedRotatingFileHandler(filename='/foo/mylog.log',
when='d', interval=3, backupCount=5))
will create a handler that will log to the file /foo/mylog.log and
rotate the log every 3 days and keeps the last 5 logs for backup.
the logging handlers are documented over here:
http://docs.python.org/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler
Note that if you're using a recent enough version of python, it's also
possible to configure the logging module using a dictionary-based
configuration. Dictionary-based configuration is generally simpler than
code-based configuration.
--
http://mail.python.org/mailman/listinfo/python-list