|
@@ -27,7 +27,7 @@ from .helpers import sysinfo
|
|
|
from .helpers import format_file_size
|
|
|
from .helpers import safe_unlink
|
|
|
from .helpers import prepare_subprocess_env, ignore_sigint
|
|
|
-from .logger import create_logger, setup_logging
|
|
|
+from .logger import create_logger
|
|
|
from .helpers import msgpack
|
|
|
from .repository import Repository
|
|
|
from .version import parse_version, format_version
|
|
@@ -244,9 +244,6 @@ class RepositoryServer: # pragma: no cover
|
|
|
def negotiate(self, client_data):
|
|
|
if isinstance(client_data, dict):
|
|
|
self.client_version = client_data["client_version"]
|
|
|
- level = logging.getLevelName(logging.getLogger("").level)
|
|
|
- setup_logging(is_serve=True, json=True, level=level)
|
|
|
- logger.debug("Initialized logging system for JSON-based protocol")
|
|
|
else:
|
|
|
self.client_version = BORG_VERSION # seems to be newer than current version (no known old format)
|
|
|
|
|
@@ -897,8 +894,6 @@ def handle_remote_line(line):
|
|
|
"""
|
|
|
assert line.endswith(("\r", "\n"))
|
|
|
if line.startswith("{"):
|
|
|
- # This format is used by Borg since 1.1.0b6 for new-protocol clients.
|
|
|
- # It is the same format that is exposed by --log-json.
|
|
|
msg = json.loads(line)
|
|
|
|
|
|
if msg["type"] not in ("progress_message", "progress_percent", "log_message"):
|
|
@@ -937,30 +932,9 @@ def handle_remote_line(line):
|
|
|
# so that the next message, progress or not, overwrites it. This mirrors the behaviour
|
|
|
# of local progress displays.
|
|
|
sys.stderr.write("Remote: " + msg["message"] + "\r")
|
|
|
- elif line.startswith("$LOG "):
|
|
|
- # This format is used by borg serve 0.xx, 1.0.x and 1.1.0b1..b5.
|
|
|
- # It prefixed log lines with $LOG as a marker, followed by the log level
|
|
|
- # and optionally a logger name, then "Remote:" as a separator followed by the original
|
|
|
- # message.
|
|
|
- _, level, msg = line.split(" ", 2)
|
|
|
- level = getattr(logging, level, logging.CRITICAL) # str -> int
|
|
|
- if msg.startswith("Remote:"):
|
|
|
- # server format: '$LOG <level> Remote: <msg>'
|
|
|
- logging.log(level, msg.rstrip())
|
|
|
- else:
|
|
|
- # server format '$LOG <level> <logname> Remote: <msg>'
|
|
|
- logname, msg = msg.split(" ", 1)
|
|
|
- logging.getLogger(logname).log(level, msg.rstrip())
|
|
|
else:
|
|
|
- # Plain 1.0.x and older format - re-emit to stderr (mirroring what the 1.0.x
|
|
|
- # client did) or as a generic log message.
|
|
|
# We don't know what priority the line had.
|
|
|
- if logging.getLogger("borg").json:
|
|
|
- logging.getLogger("").warning("Remote: " + line.strip())
|
|
|
- else:
|
|
|
- # In non-JSON mode we circumvent logging to preserve carriage returns (\r)
|
|
|
- # which are generated by remote progress displays.
|
|
|
- sys.stderr.write("Remote: " + line)
|
|
|
+ logging.getLogger("").warning("stderr/remote: " + line.strip())
|
|
|
|
|
|
|
|
|
class RepositoryNoCache:
|