2012-06-22 190 views
0

说我有DemoServer项目,只记录任何东西,我创建另一个项目说LogServer。所以这就是我想要做的。我将同时运行这两个项目,因为DemoServer正在运行,它将继续记录任何内容,并且在LogServer项目中,它应该能够访问DemoServer生成的日志并每隔1分钟将其保存到一个新的文本文件中。由于这是我第一次这样做,我很难弄清楚这两个项目将如何沟通?有人可以详细解释我怎么能做到这一点?也请张贴可能帮助我解决问题的链接。java日志记录/日志服务器

+0

准备使用的API可以帮助的,而不是创建自己的日志服务器 – Ved

+0

不,我真的需要学习如何创建自己的日志服务器 – stackjc

+0

你真正关心的似乎是进程间通信(可能作为练习?)和记录与它没有太大关系。尝试着重于你的问题,除非你需要10个答案提及各种现有的日志框架。 – Groo

回答

0

我建议你深入研究oVirt源代码(你可以克隆源代码),看看我们用日志采集器应用程序做什么。
解决您的问题的方法有很多种 -
答:您的应用程序是否已登录共享存储器(即 - nfs share) - 它和日志服务器都可以访问。一个cron作业将运行一个周期性的脚本,将上次访问的文件(比如一个小时前)复制到一个文件夹中,以便日志服务器可以访问。
B.使用log4j并编写你自己的Appender,它将发送你想要的日志服务器收集的东西到日志服务器(通过A部分中建议的文件,或通过任何其他的意思) - 这样你将能够在类别水平的基础是什么东东的日志服务器可以控逆变实际读取

1

我会去与当地的插座这是相当简单的在Java中实现,并且可以在以后使用时也demoServer的和的LogServer是在不同的机器。

发展应该是相当容易:

  • 创建自己的LogMessage
  • 创建通过使用TCP套接字一个简单的客户端/服务器架构,看看here
  • 使用包裹socket流ObjectInputStreamObjectOutputStream能够使用serialization
  • 只是通过将它们封装在从一个进程到另一个进程的消息中发送日志,然后完成