Raise an error if someone tries to use the log_file config option (#6626)

This has caused some confusion for people who didn't notice it going away.
This commit is contained in:
Richard van der Hoff 2020-01-03 17:11:29 +00:00 committed by GitHub
parent 98247c4a0e
commit e484101306
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 3 deletions

1
changelog.d/6626.feature Normal file
View File

@ -0,0 +1 @@
Raise an error if someone tries to use the log_file config option.

View File

@ -310,7 +310,7 @@ def setup(config_options):
"Synapse Homeserver", config_options "Synapse Homeserver", config_options
) )
except ConfigError as e: except ConfigError as e:
sys.stderr.write("\n" + str(e) + "\n") sys.stderr.write("\nERROR: %s\n" % (e,))
sys.exit(1) sys.exit(1)
if not config: if not config:

View File

@ -12,7 +12,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import argparse
import logging import logging
import logging.config import logging.config
import os import os
@ -37,7 +37,7 @@ from synapse.logging._structured import (
from synapse.logging.context import LoggingContextFilter from synapse.logging.context import LoggingContextFilter
from synapse.util.versionstring import get_version_string from synapse.util.versionstring import get_version_string
from ._base import Config from ._base import Config, ConfigError
DEFAULT_LOG_CONFIG = Template( DEFAULT_LOG_CONFIG = Template(
""" """
@ -81,11 +81,18 @@ disable_existing_loggers: false
""" """
) )
LOG_FILE_ERROR = """\
Support for the log_file configuration option and --log-file command-line option was
removed in Synapse 1.3.0. You should instead set up a separate log configuration file.
"""
class LoggingConfig(Config): class LoggingConfig(Config):
section = "logging" section = "logging"
def read_config(self, config, **kwargs): def read_config(self, config, **kwargs):
if config.get("log_file"):
raise ConfigError(LOG_FILE_ERROR)
self.log_config = self.abspath(config.get("log_config")) self.log_config = self.abspath(config.get("log_config"))
self.no_redirect_stdio = config.get("no_redirect_stdio", False) self.no_redirect_stdio = config.get("no_redirect_stdio", False)
@ -106,6 +113,8 @@ class LoggingConfig(Config):
def read_arguments(self, args): def read_arguments(self, args):
if args.no_redirect_stdio is not None: if args.no_redirect_stdio is not None:
self.no_redirect_stdio = args.no_redirect_stdio self.no_redirect_stdio = args.no_redirect_stdio
if args.log_file is not None:
raise ConfigError(LOG_FILE_ERROR)
@staticmethod @staticmethod
def add_arguments(parser): def add_arguments(parser):
@ -118,6 +127,10 @@ class LoggingConfig(Config):
help="Do not redirect stdout/stderr to the log", help="Do not redirect stdout/stderr to the log",
) )
logging_group.add_argument(
"-f", "--log-file", dest="log_file", help=argparse.SUPPRESS,
)
def generate_files(self, config, config_dir_path): def generate_files(self, config, config_dir_path):
log_config = config.get("log_config") log_config = config.get("log_config")
if log_config and not os.path.exists(log_config): if log_config and not os.path.exists(log_config):