import logging
import logging.handlers
logging_debug_string = ('%(levelname)s:%(name)s:%(asctime)s:%(filename)s'
':%(lineno)d: %(message)s')
logging_string = '%(levelname)s - %(name)s - %(asctime)s - %(message)s'
logging_debug_formatter = logging.Formatter(logging_debug_string)
logging_formatter = logging.Formatter(logging_string)
def init_logging(app):
app.logger.setLevel(logging.DEBUG)
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.DEBUG)
stream_handler.setFormatter(logging_debug_formatter)
rotating_file_handler = logging.handlers.RotatingFileHandler(
'log/ennstatus.log',
maxBytes=1300000,
backupCount=10,
encoding='utf-8')
rotating_file_handler.setLevel(logging.INFO)
rotating_file_handler.setFormatter(logging_formatter)
if app.debug or ('ENABLE_DEBUG_LOG' in app.config and app.config['ENABLE_DEBUG_LOG']):
second_rotating_file_handler = logging.handlers.RotatingFileHandler(
'log/ennstatus_debug.log',
maxBytes=1300000,
backupCount=20,
encoding='utf-8')
second_rotating_file_handler.setLevel(logging.DEBUG)
second_rotating_file_handler.setFormatter(logging_debug_formatter)
app.logger.addHandler(second_rotating_file_handler)
smtp_handler = logging.handlers.SMTPHandler(
'localhost',
'ennstatus@enn.lu',
app.config.get('ENNSTATUS_ADMINS', None),
'[Ennstatus] Error')
smtp_handler.setLevel(logging.ERROR)
smtp_handler.setFormatter(logging_formatter)
app.logger.addHandler(stream_handler)
app.logger.addHandler(rotating_file_handler)