登录python的最佳实践

时间:2018-05-31 01:53:41

标签: python logging

我编写了一个简单的python包,它包含一组执行简单操作(数据操作)的函数。我正在尝试增强包并添加更多日志记录功能,这引出了我的这个问题。

我是否希望软件包的用户将文件描述符或python日志记录模块的文件处理程序传递到软件包的方法中,或者软件包本身是否有自己的日志记录模块,该软件包中的方法使用。

我可以在两者中看到好处(用户控制日志记录并且可以维护基于相同处理程序的函数调用流)和缺点(用户记录器不够好),但在这种情况下是什么/最好的做法。

1 个答案:

答案 0 :(得分:1)

在您的模块中,创建一个记录器对象:

import logging
LOGGER = logging.getLogger(__name__)

然后调用该对象上的相应函数:

LOGGER.debug('you probably dont care about this')
LOGGER.info('some info message')
LOGGER.error('whoops, something went wrong')

如果用户已正确配置了日志记录子系统,那么消息将自动转到用户想要的位置(文件,stderr,syslog等)