通过 nxlog 将 .log 文件转发到 Graylog2 VM 服务器

Forward .log file via nxlog to Graylog2 VM server

我正处于尝试使用 Graylog2 的阶段。我的目标是通过 graylog2 网页查看应用程序日志。 该应用程序托管在 windows 服务器上,日志文件为 ABC.log。 nxlog 服务配置了多行 header 以强制异常消息进入单个日志条目。输出是标准的 GELF_UDP.

问题是我只能从 Graylog2 网页看到每个日志条目的开头,每个日志事件的开头是 30-50 个字符。

所以我为 nxlog 配置了第二条路由,以便在发送到 Graylog2 VM 服务器之前在本地检查输出。它显示了差异:

本地文件: 10:12:25.835: public class WebClient private void ExecuteClient() 已接受用户登录:ABC 正常事件

Graylog2 网页: 10:12:25.835: public class WebClient private void ExecuteClient(

发送到服务器的日志在 30-50 个字符后丢失。我查了好几天都没有线索。

感谢您的帮助!

GELF 有这种短消息与完整消息的概念,有点尴尬。 这应该可以解决它:

Exec $ShortMessage = $raw_event;