tagalog:操作、标记和传送日志数据的工具

tagalog的Python项目详细描述


一组命令行工具,用于动态操作日志文件。

https://travis-ci.org/alphagov/tagalog.png?branch=master

安装

tagalog在PyPI上可用,可以使用pip

$ pip install tagalog

用法

tagalog由许多简单的命令行实用程序组成,它们可以帮助您 记录数据的东西。大多数这些工具都假设它将接收日志 stdin上的数据,并在stdout上发出一些转换后的日志数据。

tagalog中最简单的工具是logstamp,它只是在每一行前面加上前缀 它以精确的时间戳接收:

$ seq 3 | logstamp
2013-02-09T18:52:57.893966Z 1
2013-02-09T18:52:57.894272Z 2
2013-02-09T18:52:57.894316Z 3

当然,如果所有人 do是将seq 3导入其中。相反,使用它来给应用程序加上时间戳 日志:

$ ruby myapp.rb | logstamp >app.log

接下来是logtag,它将每个日志行转换为 Logstash兼容的json文档。除了添加@timestamp 字段中,您还可以向每个文档添加标记列表:

$ seq 3 | logtag -a add_tags:sequence:foobar
{"@timestamp": "2013-05-10T10:38:22.103940Z", "@source_host": "lynx.local",
"@message": "1", "@tags": ["sequence", "foobar"]}
{"@timestamp": "2013-05-10T10:38:22.106518Z", "@source_host": "lynx.local",
"@message": "2", "@tags": ["sequence", "foobar"]}
{"@timestamp": "2013-05-10T10:38:22.106811Z", "@source_host": "lynx.local",
"@message": "3", "@tags": ["sequence", "foobar"]}

如您所见,tagalog向每个 默认情况下为文档。

最有用的工具可能是logship,它可以做所有事情 logtag可以,但它不是简单地将日志数据打印到stdout,而是发送 在别的地方。

$ ruby myapp.rb | logship -s redis,redis://redis-1.internal:7777,redis://redis-2.internal:7778,redis://redis-3.internal:7779,key=mylogs

logship -h查看可用选项。

nblogship旨在抵御日志失败 收件人。如果它无法向中的某个redis服务器提交日志条目 它的列表,它将尝试下一个。如果它不能连接到任何一个 将向stderr打印警告,否则将正常进行。在 如果它不能提交给任何服务器,它只会删除日志条目 以避免积压工作日后可能导致thundering herd

最后,还有logtext,大致与logtag相反。它 读取stdin上的json文档并将其转换回纯文本:

$ seq 3 | logtag -f init_txt |  logtext
1
2
3

许可证

Tagalog是根据麻省理工学院的许可证发行的,其副本可以在 LICENSE

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是数据线。getMicrosecondPosition()线程安全?   java我可以设置多个。whereEqualTo在firestore查询中指向文档中的字段?   java Intellij 14 Glassfish服务器未连接。部署不可用   java JPA。如何返回null而不是LazyInitializationException   java TarsosDSP Clap检测   比较基于字符串的java枚举   java空指针异常日历。设定时间   java Hystrix在运行时忽略超时   将数据从Java RESTful服务器推送到Android手机上进行通知   java Jnotify delete vs shift delete问题   java安装失败\u没有匹配\u ABIS res113   TreeJava:传递未实例化的对象引用是如何工作的?   java如何使用Android ringtone manager从资产文件夹播放铃声?   java在Dropwizard的不同状态下使用不同的模拟