diff --git a/app/log.py b/app/log.py index b9e9f97..72494e8 100755 --- a/app/log.py +++ b/app/log.py @@ -6,6 +6,18 @@ import logging.handlers from config import Config +class LevelTagFilter(logging.Filter): + "Add leveltag" + + def filter(self, record): + # Extract the first character of the level name + record.leveltag = record.levelname[0] + + # We never actually filter messages out, just abuse filtering to add an + # extra field to the LogRecord + return True + + log = logging.getLogger("musicmuster") log.setLevel(logging.DEBUG) @@ -17,8 +29,13 @@ stderr.setLevel(Config.LOG_LEVEL_STDERR) syslog = logging.handlers.SysLogHandler(address='/dev/log') syslog.setLevel(Config.LOG_LEVEL_SYSLOG) +# Filter +filter = LevelTagFilter() +syslog.addFilter(filter) +stderr.addFilter(filter) + # create formatter and add it to the handlers -formatter = logging.Formatter('[%(name)s:%(levelname)s]: %(message)s') +formatter = logging.Formatter('[%(name)s] %(leveltag)s: %(message)s') stderr.setFormatter(formatter) syslog.setFormatter(formatter)