setup.py 2.13 KB
Newer Older
Wei Shoulin's avatar
Wei Shoulin committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (c) 2019 Shoulin Wei
#
# This file is part of CSST.

# coding: utf-8
import logging
import logging.handlers

def setup_logging():
    """ Setup logging configuration """

    # Console formatter, mention name
    cfmt = logging.Formatter(('%(name)s - %(levelname)s - %(message)s'))

    # File formatter, mention time
    ffmt = logging.Formatter(('%(asctime)s - %(levelname)s - %(message)s'))

    # Console handler
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)
    ch.setFormatter(cfmt)

    # File handler
    fh = logging.handlers.RotatingFileHandler('csst.log',
        maxBytes=10*1024*1024, backupCount=10)
    fh.setLevel(logging.INFO)
    fh.setFormatter(ffmt)

    # Create the logger,
    # adding the console and file handler
    csst_logger = logging.getLogger('csst')
    csst_logger.handlers = []
    csst_logger.setLevel(logging.DEBUG)
    csst_logger.addHandler(ch)
    csst_logger.addHandler(fh)

    # Set up the concurrent.futures logger
    cf_logger = logging.getLogger('concurrent.futures')
    cf_logger.setLevel(logging.DEBUG)
    cf_logger.addHandler(ch)
    cf_logger.addHandler(fh)

    return csst_logger

def setup_test_logging():
    # Console formatter, mention name
    cfmt = logging.Formatter(('%(name)s - %(levelname)s - %(message)s'))

    # File formatter, mention time
    ffmt = logging.Formatter(('%(asctime)s - %(levelname)s - %(message)s'))

    # Only warnings and more serious stuff on the console
    ch = logging.StreamHandler()
    ch.setLevel(logging.WARN)
    ch.setFormatter(cfmt)

    # Outputs DEBUG level logging to file
    fh = logging.FileHandler('csst-test.log')
    fh.setLevel(logging.DEBUG)
    fh.setFormatter(ffmt)

    # Set up the montblanc logger
    csst_logger = logging.getLogger('csst')
    csst_logger.handlers = []
    csst_logger.setLevel(logging.DEBUG)
    csst_logger.addHandler(ch)
    csst_logger.addHandler(fh)

    # Set up the concurrent.futures logger
    cf_logger = logging.getLogger('concurrent.futures')
    cf_logger.setLevel(logging.DEBUG)
    cf_logger.addHandler(ch)
    cf_logger.addHandler(fh)

    return csst_logger