diff mercurial/commandserver.py @ 40827:d23fd01cc115

commandserver: add config knob for various logging options The default rotating options are copied from the blackbox extension.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 18 Nov 2018 19:47:04 +0900
parents 1617aa916d88
children 25e9089c7686
line wrap: on
line diff
--- a/mercurial/commandserver.py	Sat Nov 10 19:27:47 2018 +0900
+++ b/mercurial/commandserver.py	Sun Nov 18 19:47:04 2018 +0900
@@ -360,7 +360,8 @@
     logpath = ui.config(b'cmdserver', b'log')
     if not logpath:
         return
-    tracked = {b'chgserver', b'cmdserver'}
+    # developer config: cmdserver.track-log
+    tracked = set(ui.configlist(b'cmdserver', b'track-log'))
 
     if logpath == b'-' and fp:
         logger = loggingutil.fileobjectlogger(fp, tracked)
@@ -368,8 +369,13 @@
         logger = loggingutil.fileobjectlogger(ui.ferr, tracked)
     else:
         logpath = os.path.abspath(util.expandpath(logpath))
+        # developer config: cmdserver.max-log-files
+        maxfiles = ui.configint(b'cmdserver', b'max-log-files')
+        # developer config: cmdserver.max-log-size
+        maxsize = ui.configbytes(b'cmdserver', b'max-log-size')
         vfs = vfsmod.vfs(os.path.dirname(logpath))
-        logger = loggingutil.filelogger(vfs, os.path.basename(logpath), tracked)
+        logger = loggingutil.filelogger(vfs, os.path.basename(logpath), tracked,
+                                        maxfiles=maxfiles, maxsize=maxsize)
 
     targetuis = {ui}
     if repo: