下面的腳本將所有錯誤寫入日誌文件和控制檯,除了僅在控制檯上寫入並且不在日誌中的引發異常外。如何讓它寫出引發的異常記錄或任何運行時異常?謝謝。Python:向控制檯和日誌文件顯示並記錄運行時錯誤
import os
import sys
import logging
import logging.config
class Main(object):
@staticmethod
def main():
logging.config.fileConfig("logging.conf")
logging.debug("1")
logging.info("2")
logging.warn("3")
logging.error("4")
logging.critical("5")
raise Exception("test")
if __name__ == "__main__":
Main.main()
import logging
import logging.config
logging.config.fileConfig('logging.conf')
# create logger
logger = logging.getLogger('simpleExample')
# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
raise Exception("Exception raised")
配置文件:
[loggers]
keys=root,simpleExample
[handlers]
keys=consoleHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0
[handler_fileHandler]
formatter=simpleFormatter
args=('error.log')
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
您是否正在使用FileHandler將日誌輸出到日誌文件? – Phani 2012-02-25 05:16:17
對不起,我只是添加了文件處理程序,但同樣的問題。 – Bass 2012-02-25 05:36:53
無法記錄運行時錯誤。你需要先回答他們,如答案中所述。 – Phani 2012-02-25 05:39:10