Make `PeriodicallyFlushingMemoryHandler` the default logging handler. (#10518)

pull/10631/head
reivilibre 2021-08-17 13:13:11 +01:00 committed by GitHub
parent 642a42edde
commit 5f7b1e1f27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 61 additions and 21 deletions

View File

@ -0,0 +1 @@
The default logging handler for new installations is now `PeriodicallyFlushingMemoryHandler`, a buffered logging handler which periodically flushes itself.

View File

@ -18,18 +18,31 @@ handlers:
backupCount: 6 # Does not include the current log file. backupCount: 6 # Does not include the current log file.
encoding: utf8 encoding: utf8
# Default to buffering writes to log file for efficiency. This means that # Default to buffering writes to log file for efficiency.
# there will be a delay for INFO/DEBUG logs to get written, but WARNING/ERROR # WARNING/ERROR logs will still be flushed immediately, but there will be a
# logs will still be flushed immediately. # delay (of up to `period` seconds, or until the buffer is full with
# `capacity` messages) before INFO/DEBUG logs get written.
buffer: buffer:
class: logging.handlers.MemoryHandler class: synapse.logging.handlers.PeriodicallyFlushingMemoryHandler
target: file target: file
# The capacity is the number of log lines that are buffered before
# being written to disk. Increasing this will lead to better # The capacity is the maximum 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 # performance, at the expensive of it taking longer for log lines to
# be written to disk. # be written to disk.
# This parameter is required.
capacity: 10 capacity: 10
flushLevel: 30 # Flush for WARNING logs as well
# Logs with a level at or above the flush level will cause the buffer to
# be flushed immediately.
# Default value: 40 (ERROR)
# Other values: 50 (CRITICAL), 30 (WARNING), 20 (INFO), 10 (DEBUG)
flushLevel: 30 # Flush immediately for WARNING logs and higher
# The period of time, in seconds, between forced flushes.
# Messages will not be delayed for longer than this time.
# Default value: 5 seconds
period: 5
{% endif %} {% endif %}
console: console:

View File

@ -24,18 +24,31 @@ handlers:
backupCount: 3 # Does not include the current log file. backupCount: 3 # Does not include the current log file.
encoding: utf8 encoding: utf8
# Default to buffering writes to log file for efficiency. This means that # Default to buffering writes to log file for efficiency.
# will be a delay for INFO/DEBUG logs to get written, but WARNING/ERROR # WARNING/ERROR logs will still be flushed immediately, but there will be a
# logs will still be flushed immediately. # delay (of up to `period` seconds, or until the buffer is full with
# `capacity` messages) before INFO/DEBUG logs get written.
buffer: buffer:
class: logging.handlers.MemoryHandler class: synapse.logging.handlers.PeriodicallyFlushingMemoryHandler
target: file target: file
# The capacity is the number of log lines that are buffered before
# being written to disk. Increasing this will lead to better # The capacity is the maximum 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 # performance, at the expensive of it taking longer for log lines to
# be written to disk. # be written to disk.
# This parameter is required.
capacity: 10 capacity: 10
flushLevel: 30 # Flush for WARNING logs as well
# Logs with a level at or above the flush level will cause the buffer to
# be flushed immediately.
# Default value: 40 (ERROR)
# Other values: 50 (CRITICAL), 30 (WARNING), 20 (INFO), 10 (DEBUG)
flushLevel: 30 # Flush immediately for WARNING logs and higher
# The period of time, in seconds, between forced flushes.
# Messages will not be delayed for longer than this time.
# Default value: 5 seconds
period: 5
# A handler that writes logs to stderr. Unused by default, but can be used # A handler that writes logs to stderr. Unused by default, but can be used
# instead of "buffer" and "file" in the logger handlers. # instead of "buffer" and "file" in the logger handlers.

View File

@ -67,18 +67,31 @@ handlers:
backupCount: 3 # Does not include the current log file. backupCount: 3 # Does not include the current log file.
encoding: utf8 encoding: utf8
# Default to buffering writes to log file for efficiency. This means that # Default to buffering writes to log file for efficiency.
# will be a delay for INFO/DEBUG logs to get written, but WARNING/ERROR # WARNING/ERROR logs will still be flushed immediately, but there will be a
# logs will still be flushed immediately. # delay (of up to `period` seconds, or until the buffer is full with
# `capacity` messages) before INFO/DEBUG logs get written.
buffer: buffer:
class: logging.handlers.MemoryHandler class: synapse.logging.handlers.PeriodicallyFlushingMemoryHandler
target: file target: file
# The capacity is the number of log lines that are buffered before
# being written to disk. Increasing this will lead to better # The capacity is the maximum 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 # performance, at the expensive of it taking longer for log lines to
# be written to disk. # be written to disk.
# This parameter is required.
capacity: 10 capacity: 10
flushLevel: 30 # Flush for WARNING logs as well
# Logs with a level at or above the flush level will cause the buffer to
# be flushed immediately.
# Default value: 40 (ERROR)
# Other values: 50 (CRITICAL), 30 (WARNING), 20 (INFO), 10 (DEBUG)
flushLevel: 30 # Flush immediately for WARNING logs and higher
# The period of time, in seconds, between forced flushes.
# Messages will not be delayed for longer than this time.
# Default value: 5 seconds
period: 5
# A handler that writes logs to stderr. Unused by default, but can be used # A handler that writes logs to stderr. Unused by default, but can be used
# instead of "buffer" and "file" in the logger handlers. # instead of "buffer" and "file" in the logger handlers.