mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-09-07 02:31:54 +00:00
![Erik Johnston](/assets/img/avatar_default.png)
* Change default log config to buffer by default. This batches up writes to the filesystem, which is more efficient for disk I/O. This means that it can take some time for logs to get written to disk. Note that ERROR logs (and above) immediately flush the buffer. This only effects new installs, as we only write the log config if started with `--generate-config` (in the same way we do for generating signing keys). * Default to keeping last 4 days of logs. This hopefully reduces the amount of logs kept for new servers. Keeping the last 1GB of logs is likely overkill for new servers, but equally may not be enough for busy ones. Instead, we keep the last four days worth of logs, enough so that admins can investigate any problems that happened over e.g. a long weekend.
75 lines
2.4 KiB
YAML
75 lines
2.4 KiB
YAML
# Log configuration for Synapse.
|
|
#
|
|
# This is a YAML file containing a standard Python logging configuration
|
|
# dictionary. See [1] for details on the valid settings.
|
|
#
|
|
# [1]: https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
|
|
|
|
version: 1
|
|
|
|
formatters:
|
|
precise:
|
|
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
|
|
formatter: precise
|
|
filename: /var/log/matrix-synapse/homeserver.log
|
|
when: midnight
|
|
backupCount: 3 # Does not include the current log file.
|
|
encoding: utf8
|
|
|
|
# Default to buffering writes to log file for efficiency. This means that
|
|
# will be a delay for INFO/DEBUG logs to get written, but WARNING/ERROR
|
|
# 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
|
|
# performance, at the expensive of it taking longer for log lines to
|
|
# be written to disk.
|
|
capacity: 10
|
|
flushLevel: 30 # Flush for WARNING logs as well
|
|
|
|
# A handler that writes logs to stderr. Unused by default, but can be used
|
|
# instead of "buffer" and "file" in the logger handlers.
|
|
console:
|
|
class: logging.StreamHandler
|
|
formatter: precise
|
|
filters: [context]
|
|
|
|
loggers:
|
|
synapse.storage.SQL:
|
|
# beware: increasing this to DEBUG will make synapse log sensitive
|
|
# information such as access tokens.
|
|
level: INFO
|
|
|
|
twisted:
|
|
# We send the twisted logging directly to the file handler,
|
|
# to work around https://github.com/matrix-org/synapse/issues/3471
|
|
# when using "buffer" logger. Use "console" to log to stderr instead.
|
|
handlers: [file]
|
|
propagate: false
|
|
|
|
root:
|
|
level: INFO
|
|
|
|
# Write logs to the `buffer` handler, which will buffer them together in memory,
|
|
# then write them to a file.
|
|
#
|
|
# Replace "buffer" with "console" to log to stderr instead. (Note that you'll
|
|
# also need to update the configuation for the `twisted` logger above, in
|
|
# this case.)
|
|
#
|
|
handlers: [buffer]
|
|
|
|
disable_existing_loggers: false
|