File size: 1,187 Bytes
f013b22
 
 
 
 
 
 
 
 
 
 
 
 
 
9ed30a2
f013b22
 
 
9ed30a2
f013b22
 
 
9ed30a2
f013b22
 
 
9ed30a2
f013b22
 
522e6c3
f013b22
 
 
 
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

from datetime import datetime

import config


class Logger:
    def __init__(self, logLevelName, logFile):
        self.logLevels = {'DEBUG': 10, 'INFO': 20, 'ERROR': 30, 'CRITICAL': 40}
        self.logLevel = self.logLevels[logLevelName]
        self.logFile = logFile

    def debug(self, message):
        if self.logLevel >= self.logLevels['DEBUG']:
            self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} DEBUG {message}")

    def info(self, message):
        if self.logLevel >= self.logLevels['INFO']:
            self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} INFO  {message}")

    def error(self, message):
        if self.logLevel >= self.logLevels['ERROR']:
            self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ERROR {message}")

    def critical(self, message):
        if self.logLevel >= self.logLevels['CRITICAL']:
            self.__log(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ** CRITICAL ** {message}")

    def __log(self, message):
        message = message.strip()
        print(message)
        if config.logFile:
            with open(config.logFile,"a") as fh:
                fh.write(message + "\n")