Skip to content
Snippets Groups Projects
Commit 929ae19d authored by Paul Evans's avatar Paul Evans
Browse files

Merge pull request #280 from matrix-org/paul/sighup

Hacky attempt at catching SIGHUP and rotating the logfile around
parents 728d07c8 9cd5b9a8
Branches
Tags
No related merge requests found
...@@ -21,6 +21,7 @@ import logging.config ...@@ -21,6 +21,7 @@ import logging.config
import yaml import yaml
from string import Template from string import Template
import os import os
import signal
DEFAULT_LOG_CONFIG = Template(""" DEFAULT_LOG_CONFIG = Template("""
...@@ -142,6 +143,19 @@ class LoggingConfig(Config): ...@@ -142,6 +143,19 @@ class LoggingConfig(Config):
handler = logging.handlers.RotatingFileHandler( handler = logging.handlers.RotatingFileHandler(
self.log_file, maxBytes=(1000 * 1000 * 100), backupCount=3 self.log_file, maxBytes=(1000 * 1000 * 100), backupCount=3
) )
def sighup(signum, stack):
logger.info("Closing log file due to SIGHUP")
handler.doRollover()
logger.info("Opened new log file due to SIGHUP")
# TODO(paul): obviously this is a terrible mechanism for
# stealing SIGHUP, because it means no other part of synapse
# can use it instead. If we want to catch SIGHUP anywhere
# else as well, I'd suggest we find a nicer way to broadcast
# it around.
if getattr(signal, "SIGHUP"):
signal.signal(signal.SIGHUP, sighup)
else: else:
handler = logging.StreamHandler() handler = logging.StreamHandler()
handler.setFormatter(formatter) handler.setFormatter(formatter)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment