Completed
Push — master ( 12c888...988ad6 )
by Thomas
11:22
created

exabgp.logger.logfunc.logger()   A

Complexity

Conditions 2

Size

Total Lines 4
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nop 4
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
import sys
2
import time
3
import logging
4
5
from exabgp.logger.option import option
6
from exabgp.logger.handler import getLogger
7
from exabgp.logger.format import formater
8
9
from exabgp.logger.format import lazyformat
10
from exabgp.logger.format import lazyattribute
11
from exabgp.logger.format import lazynlri
12
13
from exabgp.logger.history import history
14
from exabgp.logger.history import record
15
16
17
class _log(object):
18
    logger = None
19
20
    @staticmethod
21
    def init(env):
22
        option.setup(env)
23
24
    @classmethod
25
    def debug(cls, message, source='', level='DEBUG'):
26
        cls.logger(option.logger.debug, message, source, level)
27
28
    @classmethod
29
    def info(cls, message, source='', level='INFO'):
30
        cls.logger(option.logger.info, message, source, level)
31
32
    @classmethod
33
    def warning(cls, message, source='', level='WARNING'):
34
        cls.logger(option.logger.warning, message, source, level)
35
36
    @classmethod
37
    def error(cls, message, source='', level='ERROR'):
38
        cls.logger(option.logger.error, message, source, level)
39
40
    @classmethod
41
    def critical(cls, message, source='', level='CRITICAL'):
42
        cls.logger(option.logger.critical, message, source, level)
43
44
    @classmethod
45
    def fatal(cls, message, source='', level='FATAL'):
46
        cls.logger(option.logger.fatal, message, source, level)
47
48
49
class log(_log):
50
    def logger(logger, message, source, level):
51
        timestamp = time.localtime()
52
        for line in message.split('\n'):
53
            logger(option.formater(line, source, level, timestamp))
54
            record(line, source, level, timestamp)
55
56
57
class logfunc(_log):
58
    def logger(logger, message, source, level):
59
        if not option.log_enabled(source, level):
60
            return
61
        log.logger(logger, message(), source, level)
62