summaryrefslogtreecommitdiff
path: root/day9/task5_vue/backend/logger/__init__.py
blob: 44ca462e03b53b96add2785590024043f2652a6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import logging
from sys import stdout

from typing import Optional
from logging import Logger as BuiltinLogger


class Logger:
    _instance: Optional[BuiltinLogger] = None

    @staticmethod
    def get_logger():
        if Logger._instance is None:
            logger = logging.getLogger(__name__)
            logger.setLevel(logging.DEBUG)

            sh = logging.StreamHandler(stdout)
            formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            sh.setFormatter(formatter)
            logger.addHandler(sh)

            Logger._instance = logger

        return Logger._instance