mercurial/commandserver.py
changeset 40823 368ecbf734af
parent 40819 cb372d09d30a
child 40824 82210d88d814
equal deleted inserted replaced
40822:6a75363f834a 40823:368ecbf734af
   206     based stream to fout.
   206     based stream to fout.
   207     """
   207     """
   208     def __init__(self, ui, repo, fin, fout):
   208     def __init__(self, ui, repo, fin, fout):
   209         self.cwd = encoding.getcwd()
   209         self.cwd = encoding.getcwd()
   210 
   210 
   211         # developer config: cmdserver.log
   211         if ui.config("cmdserver", "log") == '-':
   212         logpath = ui.config("cmdserver", "log")
       
   213         if logpath:
       
   214             global logfile
   212             global logfile
   215             if logpath == '-':
   213             # switch log stream to the 'd' (debug) channel
   216                 # write log on a special 'd' (debug) channel
   214             logfile = channeledoutput(fout, 'd')
   217                 logfile = channeledoutput(fout, 'd')
       
   218             else:
       
   219                 logfile = open(logpath, 'a')
       
   220 
   215 
   221         if repo:
   216         if repo:
   222             # the ui here is really the repo ui so take its baseui so we don't
   217             # the ui here is really the repo ui so take its baseui so we don't
   223             # end up with its local configuration
   218             # end up with its local configuration
   224             self.ui = repo.baseui
   219             self.ui = repo.baseui
   358             # we'll get here if the client disconnected while we were reading
   353             # we'll get here if the client disconnected while we were reading
   359             # its request
   354             # its request
   360             return 1
   355             return 1
   361 
   356 
   362         return 0
   357         return 0
       
   358 
       
   359 def setuplogging(ui):
       
   360     """Set up server logging facility
       
   361 
       
   362     If cmdserver.log is '-', log messages will be sent to the 'd' channel
       
   363     while a client is connected. Otherwise, messages will be written to
       
   364     the stderr of the server process.
       
   365     """
       
   366     # developer config: cmdserver.log
       
   367     logpath = ui.config(b'cmdserver', b'log')
       
   368     if not logpath:
       
   369         return
       
   370 
       
   371     global logfile
       
   372     if logpath == b'-':
       
   373         logfile = ui.ferr
       
   374     else:
       
   375         logfile = open(logpath, 'ab')
   363 
   376 
   364 class pipeservice(object):
   377 class pipeservice(object):
   365     def __init__(self, ui, repo, opts):
   378     def __init__(self, ui, repo, opts):
   366         self.ui = ui
   379         self.ui = ui
   367         self.repo = repo
   380         self.repo = repo