【发布时间】:2011-11-25 21:16:52
【问题描述】:
我不想在这个标题下提出问题,但实际上我不知道发生了什么,所以就这样吧。
我正在做另一个项目,我想在其中使用日志记录模块。代码分布在几个文件中,而不是为单独的文件创建单独的记录器对象,我想创建一个包含内容的 logs.py
import sys, logging
class Logger:
def __init__(self):
formatter = logging.Formatter('%(filename)s:%(lineno)s %(levelname)s:%(message)s')
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setFormatter(formatter)
self.logger=logging.getLogger('')
self.logger.addHandler(stdout_handler)
self.logger.setLevel(logging.DEBUG)
def debug(self, message):
self.logger.debug(message)
并像(在不同的文件中)一样使用这个类。
import logs
b = logs.Logger()
b.debug("Hi from a.py")
- 我剥离了整个问题来在这里提出问题。现在,我有 3 个文件,a.py、b.py 和 main.py。所有 3 个文件都实例化了 logs.Logger 类并打印了一条调试消息。
- a.py & b.py 导入“日志”并打印它们的调试消息。
- main.py 导入日志,a & b;并打印它自己的调试消息。
文件内容如下:http://i.imgur.com/XoKVf.png
为什么 b.py 的调试信息打印了 2 次,而 main.py 的调试信息打印了 3 次?
【问题讨论】:
-
我认为您需要提供有关日志库的一些详细信息。
-
显示来自
b.py和main.py的真实代码 - 导入 -
@warvariuc 截图i.imgur.com/XoKVf.png 显示代码。如果您需要文本文件来测试某些东西,dl.dropbox.com/u/7728421/wierd.tar.gz
标签: python python-2.7 python-module