2
我正在查看python logging
模块来替换自定义代码,但我无法决定我应该在哪里调用basicConfig
方法。什么时候我们应该在Python项目中调用logging.basicConfig?
如果我开发一个名为mymodule
的模块,它有子模块,在mymodule
中只调用一次basicConfig
似乎是个好主意。
但是,如果我(或其他人)希望自己的模块或程序中使用mymodule
并使用logging
模块,他们不能打电话basicConfig
自己和被卡住在mymodule
给basicConfig
的选项。
我知道有黑客来解决这个问题。但是,使用basicConfig
的正确方法是什么?应该在哪里调用?
看来你是对的。我用这种方法看到的缺点是它需要用户知道模块使用日志记录才能看到格式化的日志记录。这可能需要更多的知识,例如,在模块中有对象的调试参数。 –
在模块中写入是否完全错误:'if len(logging.root.handlers)== 0:logging.basicConfig()' –
不管设置库的日志记录, *文档*您可以使用哪些日志记录配置,但使用该库将其留给应用程序进行设置。看看['sqlalchemy'库如何记录这个](http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#configuring-logging)。无论如何配置日志记录并不总是合适的。 –