Obviously this means that --log-json with remote repos requires 1.1 on the remote end, but if you don't have that, then random "Remote:" lines would break stderr anyway.
@@ -92,7 +92,7 @@ def setup_logging(stream=None, conf_fname=None, env_var='BORG_LOGGING_CONF', lev
fmt = '$LOG %(levelname)s %(name)s Remote: %(message)s'
else:
fmt = '%(message)s'
- formatter = JsonFormatter(fmt) if json else logging.Formatter(fmt)
+ formatter = JsonFormatter(fmt) if json and not is_serve else logging.Formatter(fmt)
handler.setFormatter(formatter)
borg_logger = logging.getLogger('borg')
borg_logger.formatter = formatter
@@ -636,6 +636,12 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+.
opts.append('--critical')
raise ValueError('log level missing, fix this code')
+ try:
+ borg_logger = logging.getLogger('borg')
+ if borg_logger.json:
+ opts.append('--log-json')
+ except AttributeError:
+ pass
env_vars = []
if yes(env_var_override='BORG_HOSTNAME_IS_UNIQUE', env_msg=None, prompt=False):
env_vars.append('BORG_HOSTNAME_IS_UNIQUE=yes')