37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import os
|
|
import logging
|
|
|
|
|
|
class Logger():
|
|
|
|
def __init__(self, settings):
|
|
self.config = settings
|
|
|
|
log_level = self.config.dict["logging"]["level"].upper()
|
|
|
|
# Create a custom logger
|
|
logging.basicConfig(format='%(name)s - %(levelname)s - %(message)s', level=log_level)
|
|
self.logger = logging.getLogger('fHDHR')
|
|
log_file = os.path.join(self.config.internal["paths"]["logs_dir"], 'fHDHR.log')
|
|
|
|
# Create handlers
|
|
# c_handler = logging.StreamHandler()
|
|
f_handler = logging.FileHandler(log_file)
|
|
# c_handler.setLevel(log_level)
|
|
f_handler.setLevel(log_level)
|
|
|
|
# Create formatters and add it to handlers
|
|
# c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
|
|
f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
# c_handler.setFormatter(c_format)
|
|
f_handler.setFormatter(f_format)
|
|
|
|
# Add handlers to the logger
|
|
# logger.addHandler(c_handler)
|
|
self.logger.addHandler(f_handler)
|
|
|
|
def __getattr__(self, name):
|
|
''' will only get called for undefined attributes '''
|
|
if hasattr(self.logger, name):
|
|
return eval("self.logger.%s" % name)
|