diff --git a/synapse/config/database.py b/synapse/config/database.py
index 0d33583a7d..daa161c952 100644
--- a/synapse/config/database.py
+++ b/synapse/config/database.py
@@ -20,7 +20,10 @@ import os
class DatabaseConfig(Config):
def __init__(self, args):
super(DatabaseConfig, self).__init__(args)
- self.database_path = self.abspath(args.database_path)
+ if args.database_path == ":memory:":
+ self.database_path = ":memory:"
+ else:
+ self.database_path = self.abspath(args.database_path)
@classmethod
def add_arguments(cls, parser):
diff --git a/synapse/config/logger.py b/synapse/config/logger.py
index 15383b3184..f9568ebd21 100644
--- a/synapse/config/logger.py
+++ b/synapse/config/logger.py
@@ -66,7 +66,10 @@ class LoggingConfig(Config):
formatter = logging.Formatter(log_format)
if self.log_file:
- handler = logging.FileHandler(self.log_file)
+ # TODO: Customisable file size / backup count
+ handler = logging.handlers.RotatingFileHandler(
+ self.log_file, maxBytes=(1000 * 1000 * 100), backupCount=3
+ )
else:
handler = logging.StreamHandler()
handler.setFormatter(formatter)
diff --git a/synapse/config/server.py b/synapse/config/server.py
index 4f73c85466..31e44cc857 100644
--- a/synapse/config/server.py
+++ b/synapse/config/server.py
@@ -47,8 +47,12 @@ class ServerConfig(Config):
def add_arguments(cls, parser):
super(ServerConfig, cls).add_arguments(parser)
server_group = parser.add_argument_group("server")
- server_group.add_argument("-H", "--server-name", default="localhost",
- help="The name of the server")
+ server_group.add_argument(
+ "-H", "--server-name", default="localhost",
+ help="The domain name of the server, with optional explicit port. "
+ "This is used by remote servers to connect to this server, "
+ "e.g. matrix.org, localhost:8080, etc."
+ )
server_group.add_argument("--signing-key-path",
help="The signing key to sign messages with")
server_group.add_argument("-p", "--bind-port", metavar="PORT",
|