如何登錄到文件以及爲了wxpython txt ctrl?python登錄到文件以及wxpython txt ctrl
背景我有基於wxpython GUI的應用程序,它枚舉python測試文件並執行它們。在http://broadcoder.blogspot.com/2009/10/redirecting-python-logging-to.html的幫助下,我能夠將python日誌消息重定向到txtctrl。不過,我也想將日誌消息重定向到日誌文件。 導入我testfiles這樣的:
logging.info('Started')
testid = __import__(str)
reload(testid)
testOut = testid.main()
在每一個我testfiles我簡單地使用進口記錄和我的日誌消息重定向到TXT CTRL。不過,我也希望測試日誌消息也可以根據文件的名稱重定向到日誌文件。我如何將我的日誌消息重定向到兩者? 如果我在我的測試文件中使用logging.basicConfig,消息仍然僅指向文本ctrl。我的TestGUI.py中導入了5個python測試文件。在我的測試文件中的文件我只是使用進口記錄,而我安裝了記錄儀在我TestGUI.py文件
self.logr = logging.getLogger('')
self.logr.setLevel(logging.INFO)
hdlr = WxLog(self.log)
hdlr.setFormatter(logging.Formatter('%(message)s '))
self.logr.addHandler(hdlr)
在我的測試文件,我做這樣的事情:
logger = logging.getLogger('')
fh = logging.FileHandler("log.html",mode='w')
formatter = logging.Formatter('%(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
a= 5
b= 6
logging.info('a=5')
logging.info('b=6')
c= a+b
logging.info('adding b and c')
fh.close()
我得到ValueError異常:我/ O在多次運行此測試時關閉的文件上進行操作。
一個記錄器可以有多個處理程序!所以你可以輕鬆實現這一點。 – shahjapan
Duh忘記了這個我知道了 – user974168
@shahjapan:你可以請你回答一個答案,然後OP可以接受它,然後我們其他人就會知道這個問題已經得到解答,我們不會全部閱讀。是的,這是一個簡短的答案,但它是答案。 – tom10