如何将自定义解析器添加到 logster?

How to add a custom parser to logster?

我想使用 logster 跟踪我的 nginx 网络服务器返回的 HTTP 响应代码。

1) 我找到并安装了 logster。我还通过 pip 安装了 pygtail,这是 logster 所必需的。

https://github.com/etsy/logster

2) 我找到了一个解析 nginx access_log 的 python 脚本,并将其放在解析器子目录中。

https://github.com/metabrainz/logster/blob/master/musicbrainz/logster/NginxStatus.py

...但是当我 运行 logster 命令时,我得到一个 python 异常:

Traceback (most recent call last):
  File "/usr/local/bin/logster", line 5, in <module>
    pkg_resources.run_script('logster==0.0.1', 'logster')
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 505, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1245, in run_script
    execfile(script_filename, namespace, namespace)
  File "/usr/local/lib/python2.7/dist-packages/logster-0.0.1-py2.7.egg/EGG-INFO/scripts/logster", line 449, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/logster-0.0.1-py2.7.egg/EGG-INFO/scripts/logster", line 380, in main
    module = __import__(module_name, globals(), locals(), [parser_name])
ImportError: No module named NginxStatus1

````

我做错了什么?

异常错误相当具有误导性:文件被放置在正确的位置(parsers 子目录),但是 - 事实证明 - 在添加新的解析器后必须重新设置 logster(这不是不幸的是,记录在案)。所以只是 运行:

sudo python setup.py install

在 logster 目录中,一切应该开始正常工作。