将日志文件stream式传输到远程客户端

我有一个Java应用程序运行在远程服务器上(debian linux)。 该应用程序将运行时信息logging到文件。

有一段时间,支持需要使用客户端工具(不在服务器上运行,而是在支持桌面上)分析日志。 该工具然后需要远程访问

  1. 服务器上的旧日志文件
  2. 当前日志文件(实时增长)

我正在寻找一个好的(标准的,灵活的,安全的,良好的debugging等)的方式来stream这些过去和现在的日志消息到我的客户端工具。

怎么会这样做?

图书馆是否存在,它提供这种服务?

系统日志可以适应做到这一点?

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

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

我过去曾经使用过这种方式来跨网络传输,并将来自多台机器的日志文件整理成一个共同的可搜索目录结构(当你不知道你的进程可以在哪里运行时,在网格环境中非常有用)

看到这个页面的更多细节。

最简单的方法很可能是在Linux上设置samba,这样您就可以远程访问日志,因为它们被更新而不必复制。


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

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