Passed
Pull Request — master (#50)
by Cyb3r
01:40
created

bot.utils.logger.make_logger()   A

Complexity

Conditions 1

Size

Total Lines 28
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nop 2
dl 0
loc 28
rs 9.8
c 0
b 0
f 0
1
"""Makes the logger for the program"""
2
import logging
3
4
5
def make_logger(name: str, log_level: str) -> logging.Logger:
6
    """Make_logger
7
    ---
8
9
    Creates the logger that is used by the bot. Also imported to cogs and datahandler.
10
11
    Arguments:
12
    ---
13
        name {str} -- Name of the logger
14
        log_level {str} -- The logging level. Valid strings are 'DEBUG', 'INFO', 'WARNING',
15
            'ERROR', 'CRITICAL'
16
17
    Returns:
18
    ---
19
        logging.Logger -- Logger class that handled the logging.
20
    """
21
    logger = logging.getLogger(name)
22
    logger.setLevel(log_level)
23
    formatter = logging.Formatter(
24
        "%(levelname)s - %(name)s - %(asctime)s - %(message)s", "%Y-%m-%d %H:%M:%S"
25
    )
26
    fh = logging.FileHandler("{}.log".format(name), mode="w")
27
    fh.setFormatter(formatter)
28
    logger.addHandler(fh)
29
    ch = logging.StreamHandler()
30
    ch.setFormatter(formatter)
31
    logger.addHandler(ch)
32
    return logger
33