50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
|
|
import logging
|
|
|
|
from logging.handlers import SysLogHandler, TimedRotatingFileHandler
|
|
|
|
from mandaye import config
|
|
|
|
logger = logging.getLogger('mandaye')
|
|
logger.setLevel(config.log_level)
|
|
|
|
# Syslog logging
|
|
if config.syslog:
|
|
syslog_handler = SysLogHandler(address='/dev/log')
|
|
logger.addHandler(syslog_handler)
|
|
else:
|
|
syslog_handler = None
|
|
|
|
# File logging
|
|
if config.log_file:
|
|
filehandler = TimedRotatingFileHandler(config.log_file,
|
|
when=config.log_when,
|
|
interval=config.log_interval, backupCount=config.log_backup)
|
|
filehandler.setFormatter(
|
|
logging.Formatter('%(asctime)s %(levelname)s %(message)s',
|
|
datefmt='%Y-%m-%d %H:%M:%S'))
|
|
logger.addHandler(filehandler)
|
|
else:
|
|
filehandler = None
|
|
|
|
# Stream logging
|
|
sh = logging.StreamHandler()
|
|
sh.setFormatter(logging.Formatter('%(levelname)s %(message)s'))
|
|
logger.addHandler(sh)
|
|
|
|
def format_logging_handlers(uuid):
|
|
""" uuid: unique id to trace a request
|
|
Format logging handlers
|
|
"""
|
|
if filehandler:
|
|
filehandler.setFormatter(
|
|
logging.Formatter('%(asctime)s %(levelname)s [' +\
|
|
uuid + '] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
|
)
|
|
if syslog_handler:
|
|
syslog_handler.setFormatter(
|
|
logging.Formatter('%(levelname)s [' + uuid + '] %(message)s',
|
|
datefmt='%Y-%m-%d %H:%M:%S')
|
|
)
|
|
|