首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式日志记录: JMS和log4j?

分布式日志记录: JMS和log4j?
EN

Stack Overflow用户
提问于 2012-06-12 21:08:56
回答 1查看 1.2K关注 0票数 0

一直在搜索这个问题的解决方案:我需要从多台机器上运行的应用程序中的日志条目发送到远程服务器上并进行聚合。要求:

  1. 应用程序中的日志记录需要是异步的(不能等待日志条目遍历网络)
  2. 登录应用程序需要排队;如果网络失败,日志条目需要在本地排队,并在网络再次可用时发送到集中式服务器。

我正在考虑使用log4j和JMSAppender。假设这是一个合适的解决方案,是否有可用的例子?在这种情况下,在集中式服务器上运行什么进程来接收日志条目?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-06-15 20:05:00

我想到的一个简单的设置就是使用Apache ActiveMQ

它是一个开源消息代理(与JMS兼容),能够在多台物理机器之间集群队列,而且ActiveMQ安装相当轻量级。您可以简单地在每个应用程序机器上安装一个ActiveMQ。然后,在日志服务器(图片中的物理服务器C)上,将有另一个ActiveMQ。您的应用程序将使用JMS (在这里读更多),您可以使用包含的阿帕奇骆驼从队列中读取数据,并在不需要为该任务编写应用程序的情况下写入文件或数据库。

它可以简单到在activemq /conf安装中向/conf添加如下内容,并在activemq.xml配置中导入camel.xml。

代码语言:javascript
复制
<route>
 <from uri="activemq:queue:LogQueue"/>
 <to uri="file:target/folder/?fileName=logfile.log&fileExist=Append"/>
</route>

您可以使用大量的其他框架、JMS服务器和技术,但我认为这是一种成本非常低、稳定性很高的非常容易实现的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11004898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档