Files
synapse/docs/usage/configuration/logging_sample_config.md
Quentin Gliech 16125cecd2 Remove the optional systemd-python dependency (#19491)
Summary
- drop the `systemd` extra from `pyproject.toml` and the
`systemd-python` optional dependency
- this means we don't ship the journald log handler, so it clarifies the
docs how to install that in the venv
- ensure the Debian virtualenv build keeps shipping
`systemd-python>=231` in the venv, so the packaged log config can keep
using `systemd.journal.JournalHandler`

Context of this is the following:

> Today in my 'how hard would it be to move to uv' journey:
https://github.com/systemd/python-systemd/issues/167
>
> The gist of it is that uv really wants to create a universal lock
file, which means it needs to be able to resolve the package metadata,
even for packages locked for other platforms. In the case of
systemd-python, they use mesonpy as build backend, which doesn't
implement prepare_metadata_for_build_wheel, which means it needs to run
meson to be able to resolve the package metadata. And it will hard-fail
if libsystemd dev headers aren't available 😭
>
> [*message in
#synapse-dev:matrix.org*](https://matrix.to/#/!i5D5LLct_DYG-4hQprLzrxdbZ580U9UB6AEgFnk6rZQ/$OKLB3TJVXAwq43sAZFJ-_PvMMzl4P_lWmSAtlmsoMuM?via=element.io&via=matrix.org&via=beeper.com)
2026-03-09 15:11:04 +00:00

1006 B

Logging Sample Configuration File

Below is a sample logging configuration file. This file can be tweaked to control how your homeserver will output logs. The value of the log_config option in your homeserver config should be the path to this file.

To apply changes made to this file, send Synapse a SIGHUP signal (or, if using systemd, run systemctl reload on the Synapse service).

Note that a default logging configuration (shown below) is created automatically alongside the homeserver config when following the installation instructions. It should be named <SERVERNAME>.log.config by default.

Hint: If you're looking for a guide on what each of the fields in the "Processed request" log lines mean, see Request log format.

If you use systemd.journal.JournalHandler in your own logging config, ensure systemd-python is installed in Synapse's runtime environment.

{{#include ../../sample_log_config.yaml}}