synapse/scripts-dev
Quentin Gliech 0de7aa9953
Enable flake8-logging and flake8-logging-format rules in Ruff and fix related issues throughout the codebase (#18542)
This can be reviewed commit by commit.

This enables the `flake8-logging` and `flake8-logging-format` rules in
Ruff, as well as logging exception stack traces in a few places where it
makes sense

 - https://docs.astral.sh/ruff/rules/#flake8-logging-log
 - https://docs.astral.sh/ruff/rules/#flake8-logging-format-g

### Linting to avoid pre-formatting log messages

See [`adamchainz/flake8-logging` -> *LOG011 avoid pre-formatting log
messages*](152db2f167/README.rst (log011-avoid-pre-formatting-log-messages))

Practically, this means prefer placeholders (`%s`) over f-strings for
logging.

This is because placeholders are passed as args to loggers, so they can
do special handling of them.
For example, Sentry will record the args separately in their logging
integration:
c15b390dfe/sentry_sdk/integrations/logging.py (L280-L284)

One theoretical small perf benefit is that log levels that aren't
enabled won't get formatted, so it doesn't unnecessarily create
formatted strings
2025-06-13 09:44:18 +02:00
..
build_debian_packages.py Remove support for python 3.8 (#17908) 2024-11-06 19:36:01 +00:00
check_line_terminators.sh Update license headers 2023-11-21 15:29:58 -05:00
check_locked_deps_have_sdists.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
check_pydantic_models.py Enable flake8-logging and flake8-logging-format rules in Ruff and fix related issues throughout the codebase (#18542) 2025-06-13 09:44:18 +02:00
check_schema_delta.py Check for CREATE/DROP INDEX in schema deltas (#18440) 2025-05-19 10:52:05 +00:00
check-newsfragment.sh Update book location 2023-12-13 16:15:22 +00:00
complement.sh Add support for MSC4155 Invite filtering (#18288) 2025-06-05 11:49:09 +01:00
config-lint.sh Fix Shellcheck SC2006: Use $(...) notation 2021-10-22 23:08:55 +01:00
database-save.sh Drop unused table presence (#14825) 2023-01-13 14:17:03 +00:00
docker_update_debian_changelog.sh Update license headers 2023-11-21 15:29:58 -05:00
dump_macaroon.py
federation_client.py Replace deprecated HTTPAdapter.get_connection method with get_connection_with_tls_context (#17536) 2024-08-08 14:59:37 +01:00
gen_config_documentation.py Machine-readable config description (#17892) 2025-06-03 10:29:38 +01:00
generate_sample_config.sh Add suffices to scripts in scripts-dev (#12137) 2022-03-02 18:00:26 +00:00
lint.sh Add config doc generation command to lint.sh and add missing config schema. (#18522) 2025-06-10 12:43:58 +01:00
make_full_schema.sh Make it easier to use DataGrip w/ Synapse's schema (#14982) 2023-02-15 13:51:37 +00:00
mypy_synapse_plugin.py Bump mypy from 1.10.1 to 1.11.2 (#17842) 2024-10-17 15:05:00 +00:00
next_github_number.sh Fix typo 2023-12-13 16:37:10 +00:00
release.py Machine-readable config description (#17892) 2025-06-03 10:29:38 +01:00
schema_versions.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
sign_json.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00