2013-01-10 89 views
2

我有一个运行在远程服务器(debian linux)上的Java应用程序。该应用程序将运行时信息记录到文件中。将日志文件流式传输到远程客户端

偶尔,支持人员需要使用客户端工具(不在服务器上运行,但在支持桌面上)分析日志。然后,该工具需要

  1. 旧的日志文件的远程访问服务器
  2. 当前日志文件上(实时成长)

我在寻找一个良好的(=标准,灵活,安全的,良好的调试等)将这些过去和现在的日志消息流式传输到我的客户端工具。

怎么会这样做呢?

是否存在提供此服务的库?

syslog可以适应这样做吗?

编辑:出于隐私的原因,日志文件应该只存储在远程服务器上,通常不会发送到中央日志记录服务。

回答

2

为什么不使用Log4j作为日志文件发布者通过TCP发送到远程服务器的能力? Log4j是一个标准的Java日志工具(众所周知/有据可查),并且设置远程连接非常简单。

我用这个在过去的跨网络传输和整理记录来自多台机器上的文件使用一个普通的搜索目录结构(在网格环境中非常有用,当你不知道你的程序可以运行)

查看this page了解更多详情。

+0

我怀疑他们希望能够在临时基础上查看另一台计算机上的文件更改。使用CDFS或NFS:| –

+0

这就是这个提供的。 TCP日志条目传输到远程进程 –

+0

有趣的,所以我可以说我希望最后几周的日志和当前日志只能根据需要来到我的PC。即当我知道我有问题时。您不希望将日志发送到每个可能想要查看日志的PC。 –

0

最简单的方法很可能是在Linux机器上设置samba,因此您可以远程访问日志,因为它们在更新时无需复制。


你可以使用rsync。这使您可以安全地将更改复制到计算机之间的文件中。即附加文件只会复制自上次rsync以来的更改。注意:您必须反复运行以保持看到更新。

如果可以修改工具以支持SSH例如通过VFS,那么你可以像访问本地一样访问远程文件。

相关问题