现在我正在尝试更大的程序,我想使用日志记录模块而不是在我的代码中添加打印。但我一开始就摔倒了。我有一个两页的程序,添加了我能做的最简单的日志记录,但它没有用。所以,我运行了这个例子,它奏效了。然后,我将我的代码逐行运入示例中,直到找到阻止它的原因。一个近乎空的模块的简单导入会停止正确的日志记录行为。
# import ntu.dummy
import logging
LOG_FILENAME = 'example_15.log'
print 'before basicconfig'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
print 'before log write'
logging.debug('This message should go to the log file')
print 'after log write'
使用# import ntu.dummy,程序运行,打印出调试信息,并将预期的.log 文件连同预期的内容一起存放到程序的文件夹中。在 IDLE 中或直接在操作系统中都是如此。
如果我删除 # 以允许 import ntu.dummy 执行,则程序运行,打印我的调试,但没有创建 .log 文件,既不在程序文件夹中,也不在机器上的任何其他位置创建 AFAICS。
C:\Python26\Lib\ntu\ 包含一个 __init__.py,而这个文件 dummy.py,其内容...
def bolleaux():
""" empty function """
return None
代替 import ntu.dummy 语句,我可以有各种其他导入,随机、Tkinter、os.path,它们不会导致日志记录失败
求助,请问这是怎么回事?