我试图使用python的logging类,并遇到一个问题,即没有任何内容写入日志文件。 According to the python documentation,一般规则是,在执行时,班级不会告诉您有关问题的信息:
"日志包旨在吞掉发生的异常 登录生产时#34;
但我有兴趣了解logging
遇到的任何问题。该文档接着提到你可以设置一个模块级变量,raiseExceptions可以看到更多的详细程度。
我的问题是,如何设置和/或是否有更直接的方法来调试此类问题?
供参考,这是我对logging
(python 2.7)的实现:
numeric_log_level = getattr(logging, args.loglevel.upper(), None)
if not isinstance(numeric_log_level, int):
raise ValueError('Invalid log level: %s' % args.loglevel)
logging.basicConfig\
(filename=args.logfile, level=numeric_log_level, format="%(asctime)s - [client] - %(levelname)s - %(message)s")
答案 0 :(得分:1)
您链接的文档继续提及它已经启用:
raiseExceptions的默认值为True。
默认情况下,错误配置日志记录的基本异常将打印stderr
。因此,如果您想查看任何这些问题,请在终端中运行应用程序的输出。
如果您将其作为服务或守护程序运行,请确保将stderr指向文件。有很多不同的方法可以执行此操作,具体取决于您如何守护脚本,但一种常见的方法是
python script.py 2> /path/to/log_exceptions