Logging mit Python

Die API für FLubtitles kommt voran. Heute kam rudimentäre Logging Funktionalität dazu. Wie immer mit Python, geht das ziemlich einfach. Hier ein Beispiel:

Das FLubtitles Logging Modul

  • logger.py

import logging
from   logging.handlers import SysLogHandler
 
log     = logging.getLogger('flubtitles')
handler = SysLogHandler(address='/dev/log')
 
formatter = logging.Formatter("%(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
 
log.addHandler(handler)
log.setLevel(logging.INFO)

Benutzt wird es wie folgt:

import logger
 
user1 = 'foo@spam.xxx'
user2 = 'fana@flubtitles.org'
user3 = 'flubtitles@world-domination.org'
 
logger.log.warning('SignUp: <%s> does not match our policies', user1)
logger.log.error('SignUp: The user <%s> already exists', user2)
logger.log.info('SignUp: New User <%s> created', user3)

Und so sieht es dann in /var/log/syslog aus:

Feb 13 20:08:13 flubtitles - WARNING - SignUp: <foo@spam.xxx> does not match our policies
Feb 13 20:08:13 flubtitles - ERROR - SignUp: The user <fana@flubtitles.org> already exists
Feb 13 20:08:13 flubtitles - INFO - SignUp: New User <flubtitles@world-domination.org> created