Projet

Général

Profil

Télécharger (1,43 ko) Statistiques
| Branche: | Tag: | Révision:

root / mandaye / log.py @ d33bb414

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

    
(8-8/13)