是否有从 stdin pipe 获取日志输出,然后日志写到文件中的程序 (支持日志按日期切割)?

2016-02-25 11:08:44 +08:00
 feng32

对不同的语言,人们已经写了很多不同的日志模块。

最常见的写法是将所有逻辑写在程序的内部。通常,每个语言的日志模块中,都要实现差不多的功能:比如将日志按日期切割归档等。

但是好像也可以这样吧:所有的日志都输出到 stderr ,然后通过管道将日志发送到另一个程序,由这个程序来实现日志的切割归档。

这样切割归档逻辑就只要写一次就行了。如果项目由多种语言构成,就会更方便。对不同语言,即使要分别实现一个日志模块,那重复的开发工作量也少了很多。

请问现在有这样的程序吗 (有点像高级版的 tee 程序)?

2016 次点击
所在节点    程序员
2 条回复
ToughGuy
2016-02-25 11:14:12 +08:00
slixurd
2016-02-25 11:16:21 +08:00
LogStash ,虽然配置很复杂,但是基本能满足绝大多数的日志收集功能。
输入输出你可以自行选择合适的方式,包括读文件,读 Socket ,读 stdin 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX