主要是关于如何获得与 java 日志记录类似的行为的问题,在其中创建或编辑日志记录配置文件以更改日志记录的行为就足够了。
这在 Python 中是否可行,而无需修改使用日志记录功能的脚本?
只要 python 程序使用logging 模块中的.fileConfig
方法,那么可以,您可以通过编辑文件来更改 logging 配置。
通常,较大程序的 main 函数会这样调用它:
import logging
DEFAULT_LOG_CONFIG = 'somepath/logging.conf'
def main(args):
...
# parse command line arguments or similar
log_config = options.logconfig or DEFAULT_LOG_CONFIG
logging.fileConfig(DEFAULT_LOG_CONFIG)
有关文件格式的文档非常全面。
Martijn 是正确的(赞成),但如果您使用的是 Python 的 2.7/3.2 或更高版本,那么您可能会考虑使用较新的基于字典的配置,它比 Martijn 提到的旧的基于 .ini 文件的配置提供更好的日志记录功能。字典模式也有相当好的文档记录。基于字典的配置可通过logutils包以额外依赖项的价格用于较旧的 Python 版本。
Logging 的配置功能旨在准确涵盖上述用例:您甚至可以安排长时间运行的程序(例如服务器)即时重新配置,而无需重新启动。