| 
					
				 | 
			
			
				@@ -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: 
			 |