mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-11-14 16:55:42 +00:00
Make it possible to configure different log levels for stderr and file logging
This commit is contained in:
parent
e2c68a1a80
commit
2af74db46f
22
.env.tpl
22
.env.tpl
@ -121,10 +121,6 @@ NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI=
|
|||||||
# DEFAULT: %Y-%m-%d %H:%M:%S
|
# DEFAULT: %Y-%m-%d %H:%M:%S
|
||||||
# NOPAQUE_LOG_DATE_FORMAT=
|
# NOPAQUE_LOG_DATE_FORMAT=
|
||||||
|
|
||||||
# DEFAULT: <nopaque-basedir>/logs
|
|
||||||
# NOTE: Use `.` as <nopaque-basedir>
|
|
||||||
# NOPAQUE_LOG_DIR=
|
|
||||||
|
|
||||||
# DEFAULT: [%(asctime)s] %(levelname)s in %(pathname)s (function: %(funcName)s, line: %(lineno)d): %(message)s
|
# DEFAULT: [%(asctime)s] %(levelname)s in %(pathname)s (function: %(funcName)s, line: %(lineno)d): %(message)s
|
||||||
# NOPAQUE_LOG_FORMAT=
|
# NOPAQUE_LOG_FORMAT=
|
||||||
|
|
||||||
@ -132,9 +128,25 @@ NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI=
|
|||||||
# CHOOSE ONE: CRITICAL, ERROR, WARNING, INFO, DEBUG
|
# CHOOSE ONE: CRITICAL, ERROR, WARNING, INFO, DEBUG
|
||||||
# NOPAQUE_LOG_LEVEL=
|
# NOPAQUE_LOG_LEVEL=
|
||||||
|
|
||||||
|
# CHOOSE ONE: False, True
|
||||||
|
# DEFAULT: True
|
||||||
|
# NOPAQUE_LOG_FILE_ENABLED=
|
||||||
|
|
||||||
|
# DEFAULT: <nopaque-basedir>/logs
|
||||||
|
# NOTE: Use `.` as <nopaque-basedir>
|
||||||
|
# NOPAQUE_LOG_FILE_DIR=
|
||||||
|
|
||||||
|
# DEFAULT: NOPAQUE_LOG_LEVEL
|
||||||
|
# CHOOSE ONE: CRITICAL, ERROR, WARNING, INFO, DEBUG
|
||||||
|
# NOPAQUE_LOG_FILE_LEVEL=
|
||||||
|
|
||||||
# CHOOSE ONE: False, True
|
# CHOOSE ONE: False, True
|
||||||
# DEFAULT: False
|
# DEFAULT: False
|
||||||
# NOPAQUE_LOG_TO_STDOUT=
|
# NOPAQUE_LOG_STDERR_ENABLED=
|
||||||
|
|
||||||
|
# DEFAULT: NOPAQUE_LOG_LEVEL
|
||||||
|
# CHOOSE ONE: CRITICAL, ERROR, WARNING, INFO, DEBUG
|
||||||
|
# NOPAQUE_LOG_STDERR_LEVEL=
|
||||||
|
|
||||||
# DEFAULT: 0
|
# DEFAULT: 0
|
||||||
# Number of values to trust for X-Forwarded-For
|
# Number of values to trust for X-Forwarded-For
|
||||||
|
37
config.py
37
config.py
@ -51,18 +51,24 @@ class Config:
|
|||||||
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI = \
|
NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI = \
|
||||||
os.environ.get('NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI')
|
os.environ.get('NOPAQUE_SOCKETIO_MESSAGE_QUEUE_URI')
|
||||||
|
|
||||||
NOPAQUE_LOG_DATE_FORMAT = os.environ.get('NOPAQUE_LOG_DATE_FORMAT',
|
NOPAQUE_LOG_DATE_FORMAT = \
|
||||||
'%Y-%m-%d %H:%M:%S')
|
os.environ.get('NOPAQUE_LOG_DATE_FORMAT', '%Y-%m-%d %H:%M:%S')
|
||||||
NOPAQUE_LOG_DIR = os.environ.get('NOPAQUE_LOG_DIR',
|
|
||||||
os.path.join(basedir, 'logs'))
|
|
||||||
NOPAQUE_LOG_FORMAT = os.environ.get(
|
NOPAQUE_LOG_FORMAT = os.environ.get(
|
||||||
'NOPAQUE_LOG_DATE_FORMAT',
|
'NOPAQUE_LOG_DATE_FORMAT',
|
||||||
'[%(asctime)s] %(levelname)s in '
|
'[%(asctime)s] %(levelname)s in '
|
||||||
'%(pathname)s (function: %(funcName)s, line: %(lineno)d): %(message)s'
|
'%(pathname)s (function: %(funcName)s, line: %(lineno)d): %(message)s'
|
||||||
)
|
)
|
||||||
NOPAQUE_LOG_LEVEL = os.environ.get('NOPAQUE_LOG_LEVEL', 'INFO')
|
NOPAQUE_LOG_LEVEL = os.environ.get('NOPAQUE_LOG_LEVEL', 'INFO')
|
||||||
NOPAQUE_LOG_TO_STDOUT = \
|
NOPAQUE_LOG_FILE_ENABLED = \
|
||||||
os.environ.get('NOPAQUE_LOG_TO_STDOUT', 'false').lower() == 'true'
|
os.environ.get('NOPAQUE_LOG_FILE_ENABLED', 'true').lower() == 'true'
|
||||||
|
NOPAQUE_LOG_FILE_DIR = \
|
||||||
|
os.environ.get('NOPAQUE_LOG_FILE_DIR', os.path.join(basedir, 'logs'))
|
||||||
|
NOPAQUE_LOG_FILE_LEVEL = \
|
||||||
|
os.environ.get('NOPAQUE_LOG_FILE_LEVEL', NOPAQUE_LOG_LEVEL)
|
||||||
|
NOPAQUE_LOG_STDERR_ENABLED = \
|
||||||
|
os.environ.get('NOPAQUE_LOG_STDERR_ENABLED', 'false').lower() == 'true'
|
||||||
|
NOPAQUE_LOG_STDERR_LEVEL = \
|
||||||
|
os.environ.get('NOPAQUE_LOG_STDERR_LEVEL', NOPAQUE_LOG_LEVEL)
|
||||||
|
|
||||||
NOPAQUE_PROXY_FIX_X_FOR = \
|
NOPAQUE_PROXY_FIX_X_FOR = \
|
||||||
int(os.environ.get('NOPAQUE_PROXY_FIX_X_FOR', '0'))
|
int(os.environ.get('NOPAQUE_PROXY_FIX_X_FOR', '0'))
|
||||||
@ -79,30 +85,31 @@ class Config:
|
|||||||
def init_app(cls, app):
|
def init_app(cls, app):
|
||||||
# Set up logging according to the corresponding (NOPAQUE_LOG_*)
|
# Set up logging according to the corresponding (NOPAQUE_LOG_*)
|
||||||
# configurations
|
# configurations
|
||||||
# ... But first remove all existing handlers
|
app.logger.setLevel(app.config.get('NOPAQUE_LOG_LEVEL'))
|
||||||
|
# Remove existing handlers
|
||||||
for handler in app.logger.handlers:
|
for handler in app.logger.handlers:
|
||||||
app.logger.removeHandler(handler)
|
app.logger.removeHandler(handler)
|
||||||
|
# Setup handlers
|
||||||
formatter = logging.Formatter(
|
formatter = logging.Formatter(
|
||||||
fmt=app.config.get('NOPAQUE_LOG_FORMAT'),
|
fmt=app.config.get('NOPAQUE_LOG_FORMAT'),
|
||||||
datefmt=app.config.get('NOPAQUE_LOG_DATE_FORMAT')
|
datefmt=app.config.get('NOPAQUE_LOG_DATE_FORMAT')
|
||||||
)
|
)
|
||||||
if app.config.get('NOPAQUE_LOG_TO_STDOUT'):
|
if app.config.get('NOPAQUE_LOG_STDERR_ENABLED'):
|
||||||
stream_handler = logging.StreamHandler()
|
stream_handler = logging.StreamHandler()
|
||||||
stream_handler.setFormatter(formatter)
|
stream_handler.setFormatter(formatter)
|
||||||
stream_handler.setLevel(app.config.get('NOPAQUE_LOG_LEVEL'))
|
stream_handler.setLevel(app.config.get('NOPAQUE_LOG_STDERR_LEVEL'))
|
||||||
app.logger.addHandler(stream_handler)
|
app.logger.addHandler(stream_handler)
|
||||||
else:
|
if app.config.get('NOPAQUE_LOG_FILE_ENABLED'):
|
||||||
if not os.path.exists(app.config.get('NOPAQUE_LOG_DIR')):
|
if not os.path.exists(app.config.get('NOPAQUE_LOG_FILE_DIR')):
|
||||||
os.mkdir(app.config.get('NOPAQUE_LOG_DIR'))
|
os.mkdir(app.config.get('NOPAQUE_LOG_FILE_DIR'))
|
||||||
rotating_file_handler = RotatingFileHandler(
|
rotating_file_handler = RotatingFileHandler(
|
||||||
os.path.join(app.config.get('NOPAQUE_LOG_DIR'), 'nopaque.log'),
|
os.path.join(app.config.get('NOPAQUE_LOG_FILE_DIR'), 'nopaque.log'), # noqa
|
||||||
maxBytes=10240,
|
maxBytes=10240,
|
||||||
backupCount=10
|
backupCount=10
|
||||||
)
|
)
|
||||||
rotating_file_handler.setFormatter(formatter)
|
rotating_file_handler.setFormatter(formatter)
|
||||||
rotating_file_handler.setLevel(app.config.get('NOPAQUE_LOG_LEVEL'))
|
rotating_file_handler.setLevel(app.config.get('NOPAQUE_LOG_FILE_LEVEL')) # noqa
|
||||||
app.logger.addHandler(rotating_file_handler)
|
app.logger.addHandler(rotating_file_handler)
|
||||||
app.logger.setLevel(app.config.get('NOPAQUE_LOG_LEVEL'))
|
|
||||||
|
|
||||||
# Set up and apply the ProxyFix middleware according to the
|
# Set up and apply the ProxyFix middleware according to the
|
||||||
# corresponding (NOPAQUE_PROXY_FIX_*) configurations
|
# corresponding (NOPAQUE_PROXY_FIX_*) configurations
|
||||||
|
Loading…
Reference in New Issue
Block a user