Python 日志记录方面的最佳实践

标签 python logging

当使用 python 中的 logging 模块进行日志记录时。为每个类定义一个记录器是最佳实践吗?

考虑到某些事情会是多余的,例如文件日志位置,我正在考虑将日志记录抽象到它自己的类中,并将一个实例导入到我的每个需要日志记录的类中。但是我不确定这是否是最佳做法?

最佳答案

最佳实践是遵循 Python 的软件(分解)组合规则 - 模块是 Python 软件的单元,而不是类。因此,推荐的方法是使用

logger = logging.getLogger(__name__)

在每个模块中,并从主脚本配置日志记录(使用 basicConfig()dictConfig())。

记录器是单例的 - 传递它们或将它们存储在类的实例中是没有意义的。

关于Python 日志记录方面的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22807972/

相关文章:

python - Tkinter radiobutton IntVar 属性错误

Python:如何在另一个指定的字符串之后立即提取一个字符串

python - 动态传递字典名称python

python - NLTK WordNet Lemmatizer - 如何删除未知单词?

Python创建普通数组的多维数组

azure - 使用 Application Insights 进行日志记录,实时进行调试

多级用户的Android登录错误

linux - 用于为日志文件中的每个条目添加耗时的命令行脚本或实用程序?

python - uwsgi下带有插件pyramid_exclog的 Pyramid 工程excepiton.log文件无异常日志输出

Apache 日志轮转脚本