下面的脚本将所有错误写入日志文件和控制台,除了仅在控制台上写入并且不在日志中的引发异常外。如何让它写出引发的异常记录或任何运行时异常?谢谢。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