登录到消息队列是个好主意吗?

Dan*_*ski 6 messaging logging

目前,我正面临着从分布式系统聚合多个日志文件的问题.

但由于大多数应用程序都是同时使用log4j并且所有应用程序都使用JMS的Java应用程序,因此我考虑直接记录到消息队列而不是复制单个日志文件.

这是一个好主意还是会以某种方式适得其反?

MaD*_*aDa 3

一些松散的想法:

  • 性能已经提到过——在生产环境中打开详细的调试信息可能被证明是不可能的(如果事实证明您需要跟踪隐藏得很深的错误),
  • 你失去了 log4j 的翻转行为,你必须在收集日志语句时自己实现它,
  • 将进程/机器特定信息添加到日志行(除非很明显哪个应用程序发出了哪个日志行),
  • 如果您绝对需要知道发出日志语句的顺序,请考虑在每个应用程序中添加日志行的递增计数器 - 无法保证消息传递顺序,并且 log4j 中的时间戳仅以毫秒为增量,
  • 对如此庞大的文件进行有效分析可能需要良好的(付费的,甚至定制编写的)日志查看器。