1
|
|
2
|
import logging
|
3
|
from logging.handlers import SysLogHandler, TimedRotatingFileHandler
|
4
|
from mandaye.config import log_level, log_file, syslog
|
5
|
from mandaye.config import log_when, log_interval, log_backup
|
6
|
|
7
|
logger = logging.getLogger('mandaye')
|
8
|
logger.setLevel(log_level)
|
9
|
|
10
|
# Syslog logging
|
11
|
if syslog:
|
12
|
syslog_handler = SysLogHandler(address='/dev/log')
|
13
|
logger.addHandler(syslog_handler)
|
14
|
else:
|
15
|
syslog_handler = None
|
16
|
|
17
|
# File logging
|
18
|
if log_file:
|
19
|
filehandler = TimedRotatingFileHandler(log_file, when=log_when,
|
20
|
interval=log_interval, backupCount=log_backup)
|
21
|
filehandler.setFormatter(
|
22
|
logging.Formatter('%(asctime)s %(levelname)s %(message)s',
|
23
|
datefmt='%Y-%m-%d %H:%M:%S'))
|
24
|
logger.addHandler(filehandler)
|
25
|
else:
|
26
|
filehandler = None
|
27
|
|
28
|
# Stream logging
|
29
|
sh = logging.StreamHandler()
|
30
|
sh.setFormatter(logging.Formatter('%(levelname)s %(message)s'))
|
31
|
logger.addHandler(sh)
|
32
|
|
33
|
def format_logging_handlers(uuid):
|
34
|
""" uuid: unique id to trace a request
|
35
|
Format logging handlers
|
36
|
"""
|
37
|
if filehandler:
|
38
|
filehandler.setFormatter(
|
39
|
logging.Formatter('%(asctime)s %(levelname)s [' +\
|
40
|
uuid + '] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
41
|
)
|
42
|
if syslog_handler:
|
43
|
syslog_handler.setFormatter(
|
44
|
logging.Formatter('%(levelname)s [' + uuid + '] %(message)s',
|
45
|
datefmt='%Y-%m-%d %H:%M:%S')
|
46
|
)
|
47
|
|