【发布时间】:2014-10-21 21:24:22
【问题描述】:
我已经用logstash为python2.7中的日志模块设置了以下配置文件
[loggers]
keys=root,test
[handlers]
keys=remote
[formatters]
keys=standard
[logger_root]
level=NOTSET
handlers=remote
[logger_test]
level=DEBUG
handlers=remote
propagate=0
qualname=test
[handler_remote]
class=logstash.LogstashHandler
level=NOTSET
formatter=standard
args=(os.environ['hostname'], int(os.environ['port']))
[formatter_standard]
format=%(levelname)s - %(message)s
datefmt=
class=logging.Formatter
不幸的是,这是我可以为这个示例制作的文件一样短。我使用了一个名为logstash 的模块,它将我的日志消息发送出去以供远程查看。如果我尝试使用logging.config.fileConfig 加载此配置,我会收到一个错误,即找不到logstash。我所要做的就是在加载之前导入logstash,问题就消失了。
如果我可以将该导入语句放入配置文件本身,那就太好了,这样文件的加载器就不需要知道或关心。对于像urlparse 这样的东西也很好,所以我不需要那么多环境变量。
有没有办法做到这一点?
【问题讨论】:
标签: python logging logstash configparser