|
@@ -55,11 +55,6 @@ formatters:
|
|
|
format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - \
|
|
|
%(request)s - %(message)s'
|
|
|
|
|
|
-filters:
|
|
|
- context:
|
|
|
- (): synapse.logging.context.LoggingContextFilter
|
|
|
- request: ""
|
|
|
-
|
|
|
handlers:
|
|
|
file:
|
|
|
class: logging.handlers.TimedRotatingFileHandler
|
|
@@ -74,7 +69,6 @@ handlers:
|
|
|
# logs will still be flushed immediately.
|
|
|
buffer:
|
|
|
class: logging.handlers.MemoryHandler
|
|
|
- filters: [context]
|
|
|
target: file
|
|
|
# The capacity is the number of log lines that are buffered before
|
|
|
# being written to disk. Increasing this will lead to better
|
|
@@ -88,7 +82,6 @@ handlers:
|
|
|
console:
|
|
|
class: logging.StreamHandler
|
|
|
formatter: precise
|
|
|
- filters: [context]
|
|
|
|
|
|
loggers:
|
|
|
synapse.storage.SQL:
|
|
@@ -199,11 +192,26 @@ def _setup_stdlib_logging(config, log_config, logBeginner: LogBeginner):
|
|
|
|
|
|
handler = logging.StreamHandler()
|
|
|
handler.setFormatter(formatter)
|
|
|
- handler.addFilter(LoggingContextFilter(request=""))
|
|
|
logger.addHandler(handler)
|
|
|
else:
|
|
|
logging.config.dictConfig(log_config)
|
|
|
|
|
|
+ # We add a log record factory that runs all messages through the
|
|
|
+ # LoggingContextFilter so that we get the context *at the time we log*
|
|
|
+ # rather than when we write to a handler. This can be done in config using
|
|
|
+ # filter options, but care must when using e.g. MemoryHandler to buffer
|
|
|
+ # writes.
|
|
|
+
|
|
|
+ log_filter = LoggingContextFilter(request="")
|
|
|
+ old_factory = logging.getLogRecordFactory()
|
|
|
+
|
|
|
+ def factory(*args, **kwargs):
|
|
|
+ record = old_factory(*args, **kwargs)
|
|
|
+ log_filter.filter(record)
|
|
|
+ return record
|
|
|
+
|
|
|
+ logging.setLogRecordFactory(factory)
|
|
|
+
|
|
|
# Route Twisted's native logging through to the standard library logging
|
|
|
# system.
|
|
|
observer = STDLibLogObserver()
|