comparison 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
comparison
equal deleted inserted replaced
40826:1617aa916d88 40827:d23fd01cc115
358 """ 358 """
359 # developer config: cmdserver.log 359 # developer config: cmdserver.log
360 logpath = ui.config(b'cmdserver', b'log') 360 logpath = ui.config(b'cmdserver', b'log')
361 if not logpath: 361 if not logpath:
362 return 362 return
363 tracked = {b'chgserver', b'cmdserver'} 363 # developer config: cmdserver.track-log
364 tracked = set(ui.configlist(b'cmdserver', b'track-log'))
364 365
365 if logpath == b'-' and fp: 366 if logpath == b'-' and fp:
366 logger = loggingutil.fileobjectlogger(fp, tracked) 367 logger = loggingutil.fileobjectlogger(fp, tracked)
367 elif logpath == b'-': 368 elif logpath == b'-':
368 logger = loggingutil.fileobjectlogger(ui.ferr, tracked) 369 logger = loggingutil.fileobjectlogger(ui.ferr, tracked)
369 else: 370 else:
370 logpath = os.path.abspath(util.expandpath(logpath)) 371 logpath = os.path.abspath(util.expandpath(logpath))
372 # developer config: cmdserver.max-log-files
373 maxfiles = ui.configint(b'cmdserver', b'max-log-files')
374 # developer config: cmdserver.max-log-size
375 maxsize = ui.configbytes(b'cmdserver', b'max-log-size')
371 vfs = vfsmod.vfs(os.path.dirname(logpath)) 376 vfs = vfsmod.vfs(os.path.dirname(logpath))
372 logger = loggingutil.filelogger(vfs, os.path.basename(logpath), tracked) 377 logger = loggingutil.filelogger(vfs, os.path.basename(logpath), tracked,
378 maxfiles=maxfiles, maxsize=maxsize)
373 379
374 targetuis = {ui} 380 targetuis = {ui}
375 if repo: 381 if repo:
376 targetuis.add(repo.baseui) 382 targetuis.add(repo.baseui)
377 targetuis.add(repo.ui) 383 targetuis.add(repo.ui)