import logging import logging.handlers class Log(): def __init__(self, log_dir, log_level): self.log_dir = log_dir self.log_level = log_level def get_log(self): log_filename = '{}/app.log'.format(self.log_dir) #format = '%(levelname)10s - %(clientip)s - %(filename)20s:%(lineno)4s - %(funcName)30s() - %(asctime)s :: %(message)s' format = '%(levelname)10s - %(filename)20s:%(lineno)4s - %(funcName)30s() - %(asctime)s :: %(extra)30s :: %(message)s' log = logging.getLogger(__name__)#.getChild('def.XXX') log.setLevel(self.log_level) #handler = logging.handlers.TimedRotatingFileHandler(log_filename, when='midnight', interval=1, backupCount=5) handler = logging.handlers.TimedRotatingFileHandler(log_filename, when='M', interval=10, backupCount=3) formatter = logging.Formatter(format) handler.setFormatter(formatter) log.addHandler(handler) #d = {'clientip': '192.168.0.1', 'user': 'fbloggs'} #log.info('Logger started...', extra={'clientip': '192.168.0.1'}) return log