1.7 KiB
synapse
logging configuration
Synapse uses a buffer
handler per default, which flushes
periodically, but flushes logs immediately for log events
with a level greater or equal to WARNING.
To set your desired log level, specify it in synapse_log_config_root_level
.
Formatters
By default, the upstream precise
formatter is availabe. To define and use
more formatters, extend synapse_log_config_formatters
like this:
synapse_log_config_formatters_custom_json:
custom_json:
format: >-
{"lineno": %(lineno)d, "level": "%(levelname)s", "req_id": "%(request)s", "msg": "%(message)s"}
synapse_log_config_formatters: >-2
{{
({ synapse_log_config_formatters_precise_name: synapse_log_config_formatters_precise })
| combine(synapse_log_config_formatters_custom_json)
}}
# Set handlers to use your formatter like this
synapse_log_config_handlers_file_formatter: custom_json
synapse_log_config_handlers_console_formatter: custom_json
Handlers
For modifying the built-in file
/buffer
/console
handlers, see
the defaults in ../defaults/main/log.config.yml
.
Containers
For typical container setups, it is often recommended to log all
logs to stdout
/stderr
. This can be easily archieved by setting
synapse_log_config_root_handlers: [ synapse_log_config_handlers_console_name ]
.
Child loggers
To set a different configuration / log level for child loggers of
the root logger (currently, this is only synapse.storage.SQL
),
override synapse_log_config_loggers
directly or for the SQL loggers,
set the level in synapse_log_config_loggers_synapse_storage_sql_level
(which defaults to synapse_log_config_root_level
).