对不同的语言,人们已经写了很多不同的日志模块。
最常见的写法是将所有逻辑写在程序的内部。通常,每个语言的日志模块中,都要实现差不多的功能:比如将日志按日期切割归档等。
但是好像也可以这样吧:所有的日志都输出到 stderr ,然后通过管道将日志发送到另一个程序,由这个程序来实现日志的切割归档。
这样切割归档逻辑就只要写一次就行了。如果项目由多种语言构成,就会更方便。对不同语言,即使要分别实现一个日志模块,那重复的开发工作量也少了很多。
请问现在有这样的程序吗 (有点像高级版的 tee 程序)?
1
ToughGuy 2016-02-25 11:14:12 +08:00
|
2
slixurd 2016-02-25 11:16:21 +08:00
LogStash ,虽然配置很复杂,但是基本能满足绝大多数的日志收集功能。
输入输出你可以自行选择合适的方式,包括读文件,读 Socket ,读 stdin 。 |