我有一个Java应用程序运行在远程服务器(debian linux)。应用程序将运行时信息记录到文件中。
偶尔,支持人员需要使用客户端工具分析日志(不是在服务器上运行,而是在支持人员的桌面上运行)。然后该工具需要远程访问
- 服务器上的旧日志文件
- 当前日志文件(实时增长)
我正在寻找一个好的(=标准,灵活,安全,调试良好等)的方式来流这些过去和现在的日志消息到我的客户端工具。
该怎么做呢?
是否存在提供此服务的库?
syslog是否可以适应此功能?
编辑:出于隐私原因,日志文件应该只存储在远程服务器上,而不是通常发送到中央日志服务。
为什么不使用Log4j的功能作为通过TCP向远程服务器发布日志文件的发布者呢?Log4j是一个标准的Java日志工具(众所周知/文档齐全),设置远程连接非常简单。
我在过去使用这个来跨网络传输和整理来自多台机器的日志文件,在一个通用的可搜索目录结构中(当你不知道你的进程可能在哪里运行时,在网格环境中非常有用)
最简单的方法可能是在Linux机器上安装samba,这样您就可以在日志更新时远程访问日志,而不必复制它们。
你可以使用rsync。这允许您安全地将更改复制到机器之间的文件。也就是说,追加文件只会复制上次rsync之后的更改。注意:你必须反复运行它以保持看到更新。
如果工具可以修改为支持SSH,例如通过VFS,那么你就可以像访问本地文件一样访问远程文件。