Projekt

Obecné

Profil

Stáhnout (1.21 KB) Statistiky
| Větev: | Tag: | Revize:
1
import inspect
2
import logging
3
from pathlib import Path
4

    
5

    
6
class Logger:
7

    
8
    @staticmethod
9
    def get_names():
10
        stack = inspect.stack()
11
        file_name = inspect.getfile(stack[2][0].f_locals["self"].__class__)
12
        class_name = stack[2][0].f_locals["self"].__class__.__name__
13
        function_name = stack[2][0].f_code.co_name
14

    
15
        return file_name, class_name, function_name
16

    
17
    @staticmethod
18
    def debug(message: str):
19
        names = Logger.get_names()
20
        logging.debug(f'{Path(names[0]).name}[{names[1]}.{names[2]}()]: {message}')
21

    
22
    @staticmethod
23
    def info(message: str):
24
        names = Logger.get_names()
25
        logging.info(f'{Path(names[0]).name}[{names[1]}.{names[2]}()]: {message}')
26

    
27
    @staticmethod
28
    def warning(message: str):
29
        names = Logger.get_names()
30
        logging.warning(f'{Path(names[0]).name}[{names[1]}.{names[2]}()]: {message}')
31

    
32
    @staticmethod
33
    def error(message: str):
34
        names = Logger.get_names()
35
        logging.error(f'{Path(names[0]).name}[{names[1]}.{names[2]}()]: {message}')
36

    
37
    @staticmethod
38
    def critical(message: str):
39
        names = Logger.get_names()
40
        logging.critical(f'{Path(names[0]).name}[{names[1]}.{names[2]}()]: {message}')
(3-3/5)