Merge pull request #191 from bouttier/reload-logger-config
Reload logger config on SIGHUP
This commit is contained in:
commit
33bee79f73
@ -28,6 +28,7 @@ import os
|
||||
import sys
|
||||
import logging
|
||||
import logging.config
|
||||
import signal
|
||||
|
||||
from . import config
|
||||
|
||||
@ -35,6 +36,14 @@ from . import config
|
||||
LOGGER = logging.getLogger()
|
||||
|
||||
|
||||
def configure_from_file(filename, debug):
|
||||
logging.config.fileConfig(filename)
|
||||
if debug:
|
||||
LOGGER.setLevel(logging.DEBUG)
|
||||
for handler in LOGGER.handlers:
|
||||
handler.setLevel(logging.DEBUG)
|
||||
|
||||
|
||||
def start():
|
||||
"""Start the logging according to the configuration."""
|
||||
filename = os.path.expanduser(config.get("logging", "config"))
|
||||
@ -42,11 +51,11 @@ def start():
|
||||
|
||||
if os.path.exists(filename):
|
||||
# Configuration taken from file
|
||||
logging.config.fileConfig(filename)
|
||||
if debug:
|
||||
LOGGER.setLevel(logging.DEBUG)
|
||||
for handler in LOGGER.handlers:
|
||||
handler.setLevel(logging.DEBUG)
|
||||
configure_from_file(filename, debug)
|
||||
# Reload config on SIGHUP
|
||||
def handler(signum, frame):
|
||||
configure_from_file(filename, debug)
|
||||
signal.signal(signal.SIGHUP, handler)
|
||||
else:
|
||||
# Default configuration, standard output
|
||||
handler = logging.StreamHandler(sys.stdout)
|
||||
|
Loading…
Reference in New Issue
Block a user