uploader-bot/app/core/logger.py

41 lines
1.1 KiB
Python

import logging
import sys
from app.core._config import LOG_LEVEL, LOG_FILEPATH
LOG_LEVELS = {
'DEBUG': logging.DEBUG,
'INFO': logging.INFO,
'WARNING': logging.WARNING,
'ERROR': logging.ERROR
}
LOG_LEVEL = LOG_LEVELS[LOG_LEVEL]
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
handler2 = logging.StreamHandler(sys.stdout)
handler2.setLevel(LOG_LEVEL)
handler2.setFormatter(
logging.Formatter('%(asctime)s | %(levelname)s | %(message)s')
)
logger.addHandler(handler2)
handler3 = logging.FileHandler(LOG_FILEPATH)
handler3.setLevel(logging.DEBUG)
handler3.setFormatter(
logging.Formatter('%(asctime)s | %(levelname)s | %(message)s')
)
logger.addHandler(handler3)
def make_log(issuer, message, *args, level='INFO', **kwargs):
assert level.upper() in LOG_LEVELS.keys(), f"Unknown log level"
_log = getattr(logger, level.lower())
log_buffer = f"[{issuer if not (issuer is None) else 'System'}] {message}"
if args:
log_buffer += f" | {args}"
if kwargs:
log_buffer += f" | {kwargs}"
_log(log_buffer)