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