Files
cpu_governor_auto_adjust/logger.py
T
2024-12-15 23:15:45 +01:00

35 lines
1.2 KiB
Python

import logging
from logging import Logger
import os
import sys
def getLogger(name: str = 'root', loglevel: str = 'INFO') -> Logger:
logger = logging.getLogger(name)
# if logger 'name' already exists, return it to avoid logging duplicate
# messages by attaching multiple handlers of the same type
if logger.handlers:
return logger
# if logger 'name' does not already exist, create it and attach handlers
else:
# set logLevel to loglevel or to INFO if requested level is incorrect
loglevel = getattr(logging, loglevel.upper(), "INFO")
logger.setLevel(loglevel)
if loglevel == logging.DEBUG:
fmt = '%(asctime)s %(levelname)-8s %(message)s (%(filename)s)'
else:
fmt = '%(asctime)s %(levelname)-8s %(message)s'
fmt_date = '%Y-%m-%dT%T'
formatter = logging.Formatter(fmt, fmt_date)
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger.addHandler(handler)
if logger.name == 'root':
logger.warning(
'Running: %s %s',
os.path.basename(sys.argv[0]),
' '.join(sys.argv[1:]))
return logger