我为python的日志包编写了一个自定义日志记录处理程序。此处理程序可能有效,也可能无效,但这超出了问题的范围。
我正在尝试使用配置dict指定处理程序。但是日志包似乎无法找到正确的类。这是我的配置字典的相关部分:
"file": {
"class": "iis.logging.LockingFileHandler",
.
.
.
}
在文件configuration/development.py
中定义了哪个。它已导入并传递到文件logging.config.dictConfig
中的iis/__init__.py
。 LockingFileHandler
在文件iis/logging.py
中定义。 configuration
和iis
都在我的路上。
当我运行flask(导入iis/__init__
)时,我收到以下错误消息:
Traceback (most recent call last):
File "/usr/lib64/python3.5/logging/config.py", line 384, in resolve
self.importer(used)
ImportError: No module named 'iis.logging.LockingFileHandler'; 'iis.logging' is not a package
接下来是由这一个引起的一堆例外。我怀疑我在这里捣蛋。有什么想法吗?
答案 0 :(得分:0)
我认为我是Python令人困惑的(!)导入语义的受害者。模块iis.logging
正在欺骗全局logging
模块(以某种方式)。重命名为iss.log
就可以了。