爲什麼在日誌框架中調用日誌框架不會產生輸出到日誌(file,stdout,...)?Python日誌記錄模塊在安裝的windows服務中不起作用
我的Python服務具有一般形式:
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('out.log')
logger.addHandler(fh)
logger.error("OUTSIDE")
class Service (win32serviceutil.ServiceFramework):
_svc_name_ = "example"
_svc_display_name_ = "example"
_svc_description_ = "example"
def __init__(self,args):
logger.error("NOT LOGGED")
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_,''))
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
self.stop = True
def SvcDoRun(self):
self.ReportServiceStatus(win32service.SERVICE_RUNNING)
self.main()
def main(self):
# Service Logic
logger.error("NOT LOGGED EITHER")
pass
到logger.error第一次調用產生的輸出,而不是兩個服務類中(即使安裝服務,使後確保它正在運行) 。
您是否正在查看日誌文件的正確文件夾?服務在Windows文件夾中運行。 – CoreTech 2013-02-11 14:18:38
設置輸出日誌的絕對路徑會有所作爲嗎? – 2013-02-11 14:29:20
實際上我將它設置爲絕對路徑(在我的示例中未顯示)。我看到正在創建的日誌文件,並且第一個logger.error(「OUTSIDE」)消息在那裏。另外兩個沒有被記錄。 – mpaf 2013-02-11 14:47:53