Passed
Pull Request — master (#50)
by Cyb3r
01:19 queued 15s
created

bot.utils.logger.make_logger()   A

Complexity

Conditions 1

Size

Total Lines 25
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nop 2
dl 0
loc 25
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
    Creates the logger that is used by the bot. The datahanlder makes it own log
9
10
    :param name: Name of logger
11
    :type name: str
12
    :param log_level: Logging level. Valid strings are 'DEBUG', 'INFO', 'WARNING',
13
            'ERROR', 'CRITICAL'
14
    :type log_level: st
15
    :return: Logger class that handled the logging.
16
    :rtype: logging.Logger
17
    """
18
    logger = logging.getLogger(name)
19
    logger.setLevel(log_level)
20
    formatter = logging.Formatter(
21
        "%(levelname)s - %(name)s - %(asctime)s - %(message)s", "%Y-%m-%d %H:%M:%S"
22
    )
23
    fh = logging.FileHandler("{}.log".format(name), mode="w")
24
    fh.setFormatter(formatter)
25
    logger.addHandler(fh)
26
    ch = logging.StreamHandler()
27
    ch.setFormatter(formatter)
28
    logger.addHandler(ch)
29
    return logger
30