Merge pull request #191 from bouttier/reload-logger-config

Reload logger config on SIGHUP
This commit is contained in:
Guillaume Ayoub 2014-10-22 14:17:23 +02:00
commit 33bee79f73

View File

@ -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)