@@ -0,0 +1 @@ | |||||
Automate generation of the sample log config. |
@@ -85,6 +85,9 @@ PYTHONPATH="$tmpdir" \ | |||||
' > "${PACKAGE_BUILD_DIR}/etc/matrix-synapse/homeserver.yaml" | ' > "${PACKAGE_BUILD_DIR}/etc/matrix-synapse/homeserver.yaml" | ||||
# build the log config file | |||||
"${TARGET_PYTHON}" -B "${VIRTUALENV_DIR}/bin/generate_log_config" \ | |||||
--output-file="${PACKAGE_BUILD_DIR}/etc/matrix-synapse/log.yaml" | |||||
# add a dependency on the right version of python to substvars. | # add a dependency on the right version of python to substvars. | ||||
PYPKG=`basename $SNAKE` | PYPKG=`basename $SNAKE` | ||||
@@ -1,3 +1,9 @@ | |||||
matrix-synapse-py3 (1.7.3ubuntu1) UNRELEASED; urgency=medium | |||||
* Automate generation of the default log configuration file. | |||||
-- Richard van der Hoff <richard@matrix.org> Fri, 03 Jan 2020 13:55:38 +0000 | |||||
matrix-synapse-py3 (1.7.3) stable; urgency=medium | matrix-synapse-py3 (1.7.3) stable; urgency=medium | ||||
* New synapse release 1.7.3. | * New synapse release 1.7.3. | ||||
@@ -1,2 +1 @@ | |||||
debian/log.yaml etc/matrix-synapse | |||||
debian/manage_debconf.pl /opt/venvs/matrix-synapse/lib/ | debian/manage_debconf.pl /opt/venvs/matrix-synapse/lib/ |
@@ -1,36 +0,0 @@ | |||||
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.RotatingFileHandler | |||||
formatter: precise | |||||
filename: /var/log/matrix-synapse/homeserver.log | |||||
maxBytes: 104857600 | |||||
backupCount: 10 | |||||
filters: [context] | |||||
encoding: utf8 | |||||
console: | |||||
class: logging.StreamHandler | |||||
formatter: precise | |||||
level: WARN | |||||
loggers: | |||||
synapse: | |||||
level: INFO | |||||
synapse.storage.SQL: | |||||
level: INFO | |||||
root: | |||||
level: INFO | |||||
handlers: [file, console] |
@@ -1,4 +1,4 @@ | |||||
# Example log config file for synapse. | |||||
# Log configuration for Synapse. | |||||
# | # | ||||
# This is a YAML file containing a standard Python logging configuration | # This is a YAML file containing a standard Python logging configuration | ||||
# dictionary. See [1] for details on the valid settings. | # dictionary. See [1] for details on the valid settings. | ||||
@@ -20,7 +20,7 @@ handlers: | |||||
file: | file: | ||||
class: logging.handlers.RotatingFileHandler | class: logging.handlers.RotatingFileHandler | ||||
formatter: precise | formatter: precise | ||||
filename: /home/rav/work/synapse/homeserver.log | |||||
filename: /var/log/matrix-synapse/homeserver.log | |||||
maxBytes: 104857600 | maxBytes: 104857600 | ||||
backupCount: 10 | backupCount: 10 | ||||
filters: [context] | filters: [context] | ||||
@@ -7,12 +7,22 @@ set -e | |||||
cd `dirname $0`/.. | cd `dirname $0`/.. | ||||
SAMPLE_CONFIG="docs/sample_config.yaml" | SAMPLE_CONFIG="docs/sample_config.yaml" | ||||
SAMPLE_LOG_CONFIG="docs/sample_log_config.yaml" | |||||
check() { | |||||
diff -u "$SAMPLE_LOG_CONFIG" <(./scripts/generate_log_config) >/dev/null || return 1 | |||||
} | |||||
if [ "$1" == "--check" ]; then | if [ "$1" == "--check" ]; then | ||||
diff -u "$SAMPLE_CONFIG" <(./scripts/generate_config --header-file docs/.sample_config_header.yaml) >/dev/null || { | diff -u "$SAMPLE_CONFIG" <(./scripts/generate_config --header-file docs/.sample_config_header.yaml) >/dev/null || { | ||||
echo -e "\e[1m\e[31m$SAMPLE_CONFIG is not up-to-date. Regenerate it with \`scripts-dev/generate_sample_config\`.\e[0m" >&2 | echo -e "\e[1m\e[31m$SAMPLE_CONFIG is not up-to-date. Regenerate it with \`scripts-dev/generate_sample_config\`.\e[0m" >&2 | ||||
exit 1 | exit 1 | ||||
} | } | ||||
diff -u "$SAMPLE_LOG_CONFIG" <(./scripts/generate_log_config) >/dev/null || { | |||||
echo -e "\e[1m\e[31m$SAMPLE_LOG_CONFIG is not up-to-date. Regenerate it with \`scripts-dev/generate_sample_config\`.\e[0m" >&2 | |||||
exit 1 | |||||
} | |||||
else | else | ||||
./scripts/generate_config --header-file docs/.sample_config_header.yaml -o "$SAMPLE_CONFIG" | ./scripts/generate_config --header-file docs/.sample_config_header.yaml -o "$SAMPLE_CONFIG" | ||||
./scripts/generate_log_config -o "$SAMPLE_LOG_CONFIG" | |||||
fi | fi |
@@ -0,0 +1,43 @@ | |||||
#!/usr/bin/env python3 | |||||
# -*- coding: utf-8 -*- | |||||
# Copyright 2020 The Matrix.org Foundation C.I.C. | |||||
# | |||||
# Licensed under the Apache License, Version 2.0 (the "License"); | |||||
# you may not use this file except in compliance with the License. | |||||
# You may obtain a copy of the License at | |||||
# | |||||
# http://www.apache.org/licenses/LICENSE-2.0 | |||||
# | |||||
# Unless required by applicable law or agreed to in writing, software | |||||
# distributed under the License is distributed on an "AS IS" BASIS, | |||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
# See the License for the specific language governing permissions and | |||||
# limitations under the License. | |||||
import argparse | |||||
import sys | |||||
from synapse.config.logger import DEFAULT_LOG_CONFIG | |||||
if __name__ == "__main__": | |||||
parser = argparse.ArgumentParser() | |||||
parser.add_argument( | |||||
"-o", | |||||
"--output-file", | |||||
type=argparse.FileType("w"), | |||||
default=sys.stdout, | |||||
help="File to write the configuration to. Default: stdout", | |||||
) | |||||
parser.add_argument( | |||||
"-f", | |||||
"--log-file", | |||||
type=str, | |||||
default="/var/log/matrix-synapse/homeserver.log", | |||||
help="name of the log file", | |||||
) | |||||
args = parser.parse_args() | |||||
args.output_file.write(DEFAULT_LOG_CONFIG.substitute(log_file=args.log_file)) |
@@ -40,7 +40,14 @@ from synapse.util.versionstring import get_version_string | |||||
from ._base import Config, ConfigError | from ._base import Config, ConfigError | ||||
DEFAULT_LOG_CONFIG = Template( | DEFAULT_LOG_CONFIG = Template( | ||||
""" | |||||
"""\ | |||||
# 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 | version: 1 | ||||
formatters: | formatters: | ||||