【发布时间】:2015-01-30 02:14:29
【问题描述】:
我的logging.ini 中有一个自定义处理程序。此处理程序要求我将另一个外部类的方法作为第一个参数传递。日志记录文档说我可以通过在字符串前面加上 ext:// 来引用外部对象:
access to external objects docs
所以我正在尝试这样的事情:
[handler_rabbitHandler]
class=company.common.logger.GELFRabbitHandler
level=DEBUG
formatter=simpleFormatter
args=('ext://company.common.logger.AMQPFactory.get_connection',)
但似乎在args 的情况下ext:// 没有按照文档中的描述得到解决。有没有办法在 args 中引用外部对象的方法?
注意:
许多示例在 args 中显示 sys.stdout,如下所示:
args=(sys.stdout,)
如果我尝试对我们的自定义对象进行相同操作,我会收到导入错误,但我不知道如何将其导入到日志记录的命名空间中:
args=(company.common.logger.AMQPFactory.get_connection,)
结果:
NameError: name 'company' is not defined
【问题讨论】: