Files @ 96272a0fdcf6
Branch filter:

Location: FVDE/ennstatus/ennstatus/log.py

Dennis Fink
Version bump
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)