Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

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

Merged
merged 2 commits into from
Jan 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/6626.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Raise an error if someone tries to use the log_file config option.
2 changes: 1 addition & 1 deletion synapse/app/homeserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ def setup(config_options):
"Synapse Homeserver", config_options
)
except ConfigError as e:
sys.stderr.write("\n" + str(e) + "\n")
sys.stderr.write("\nERROR: %s\n" % (e,))
sys.exit(1)

if not config:
Expand Down
17 changes: 15 additions & 2 deletions synapse/config/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# 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 logging
import logging.config
import os
Expand All @@ -37,7 +37,7 @@
from synapse.logging.context import LoggingContextFilter
from synapse.util.versionstring import get_version_string

from ._base import Config
from ._base import Config, ConfigError

DEFAULT_LOG_CONFIG = Template(
"""
Expand Down Expand Up @@ -81,11 +81,18 @@
"""
)

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):
section = "logging"

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.no_redirect_stdio = config.get("no_redirect_stdio", False)

Expand All @@ -106,6 +113,8 @@ def generate_config_section(self, config_dir_path, server_name, **kwargs):
def read_arguments(self, args):
if args.no_redirect_stdio is not None:
self.no_redirect_stdio = args.no_redirect_stdio
if args.log_file is not None:
raise ConfigError(LOG_FILE_ERROR)

@staticmethod
def add_arguments(parser):
Expand All @@ -118,6 +127,10 @@ def add_arguments(parser):
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):
log_config = config.get("log_config")
if log_config and not os.path.exists(log_config):
Expand Down