46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import logging
|
|
import sys, os
|
|
|
|
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)
|
|
|
|
IGNORED_ISSUERS = os.getenv('IGNORED_ISSUERS', '').split(',')
|
|
|
|
|
|
def make_log(issuer, message, *args, level='INFO', **kwargs):
|
|
if issuer in IGNORED_ISSUERS:
|
|
return
|
|
|
|
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)
|