我正在开发一个可重用的Python模块(如果重要的话,用于Python 2.7).我想知道对于希望将我的模块包含在具有自己的日志记录方法的更大框架中的其他人来说,最佳实践是什么.
是否有标准方法在我的模块中设置日志记录以使用外部调用程序定义的任何记录器?
这是一篇很棒的博客文章,概述了一些我尝试采用的最佳实践:http://eric.themoritzfamily.com/learning-python-logging.html
他详细介绍了所有细节和理由,但基本上归结为几个简单的原则.
getLogger
根据您的模块使用__name__
并开始记录:
import logging
logger = logging.getLogger(__name__)
logger.info( ... )
logger.debug( ... )
Run Code Online (Sandbox Code Playgroud)不要在模块中定义处理程序或配置适当的日志级别,因为它们可能会干扰您所考虑的"外部调用程序".您(或您的用户)可以根据需要在主应用程序代码中为所有子模块设置处理程序和所需的日志记录详细信息级别.
归档时间: |
|
查看次数: |
955 次 |
最近记录: |