44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
|
|
import logging
|
|
from logging import FileHandler
|
|
from logging.handlers import SysLogHandler
|
|
from mandaye.config import log_level, syslog, log_file
|
|
|
|
logger = logging.getLogger('mandaye')
|
|
logger.setLevel(log_level)
|
|
|
|
# Syslog logging
|
|
if syslog:
|
|
syslog_handler = SysLogHandler(address='/dev/log')
|
|
logger.addHandler(syslog_handler)
|
|
else:
|
|
syslog_handler = None
|
|
|
|
# File logging
|
|
if log_file:
|
|
filehandler = FileHandler(log_file)
|
|
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')
|
|
)
|
|
|