NDCT/ndct/core/log.py

43 lines
1.2 KiB
Python

import logging
import sys
import os
from datetime import datetime
from ndct.core.paths import LOGGING_PATH
def log(log_message, level):
'''
Summary:
Logs information to logfile at the specified level.
Takes:
log_message: Information to log
level: Level of which to log the information at
'''
logger = logging.getLogger('ndct-logger')
log_message_types = {
'debug': logger.debug,
'info': logger.info,
'warning': logger.warning,
'error': logger.error,
'critical': logger.critical
}
if not logger.handlers:
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')
file_handler = logging.FileHandler(LOGGING_PATH + 'log_' + datetime.now().strftime("%Y-%m-%d_%H:%M:%S") + '.log')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
stream_handler = logging.StreamHandler(sys.stdout)
stream_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.addHandler(stream_handler)
log_message_types[level](log_message)