【发布时间】:2017-02-16 05:55:28
【问题描述】:
我已经为 python 的日志记录包编写了一个自定义的日志记录处理程序。此处理程序可能有效,也可能无效,但这超出了问题的范围。
我正在尝试使用配置字典指定处理程序。然而,日志包似乎无法找到正确的类。这是我的配置字典的相关部分:
"file": {
"class": "iis.logging.LockingFileHandler",
.
.
.
}
在文件configuration/development.py 中定义。它被导入并传递给文件iis/__init__.py 中的logging.config.dictConfig。 LockingFileHandler 在文件 iis/logging.py 中定义。 configuration 和 iis 都在我的路上。
当我运行烧瓶(导入 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
接下来是由这个引起的一堆异常。我怀疑我在这里错过了一些技巧。有什么想法吗?
【问题讨论】:
-
iis/logging目录下有__init__.py文件吗? -
@S.deMelo 没有
iis/logging目录。 LockingFileHandler 定义在iis/logging.py -
是的,对不起。错误消息很奇怪,因为它似乎将“iis.logging.LockingFileHandler”视为一个模块。
-
@S.deMelo 作为记录,我试图将
LockingFileHandler放在iis/logging/handlers.py中,但这只会将问题移到层次结构的下一级。
标签: python logging flask python-3.5