Log4net:SysLog Appender 示例
我正在寻找有关如何将 Log4net 日志记录到 Syslog 服务器的示例配置。欢迎任何帮助。
I am looking for example configuration on how to get Log4net logging to a Syslog server. Any help would be welcome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我没有发现 Simon Whittemore 的条目很有帮助,这就是让我的附加程序生成“正确的”系统日志远程消息的原因:
“key”[原文如此]是 identity 参数,它生成正确的(或看起来正确)输出 - 我在 Debian 上使用 rsyslog,YMMV。
您绝对不需要或不想发送日期(如 Simon Whittemore 的博客中所示),因为 syslogd 会使用服务器的时区为您添加日期。
这是从我启用 log4net 的应用程序收到的消息,后面是一条真实的消息:
如您所见,“日期时间主机服务:消息”的基本格式都很好,与
Simon 的配置生成的示例不同:
I didn't find Simon Whittemore's entry very helpful, this is what got my appender producing "proper" syslog remote messages:
The "key" [sic] is the identity parameter, that produces the correct (or correct looking) output - I'm using rsyslog on Debian, YMMV.
You most definitely do not need or want to send the date (as in Simon Whittemore's blog), as syslogd will add the date for you, using the server's timezone.
Here's a received message from my log4net enabled app, followed by a real message:
As you can see, the basic format of "Date Time Host Service: message" is all good, unlike
or an example of what Simon's config would produce:
您可以尝试 log4net,而不是使用较低级别的 UDP 附加程序。 Appender.RemoteSyslogAppender。您可以在 Simon Whittemore 的博客文章通过 Log4Net 集中应用程序日志记录。
Instead of using the lower-level UDP appender, you could try log4net.Appender.RemoteSyslogAppender. You can find an example in Simon Whittemore's blog entry Centralised Application logging via Log4Net.
您还可以尝试 syslog4net。 syslog4net 的工作原理是创建一个自定义 log4net 布局,以 Syslog 的 RFC5424 标准格式 写入消息。然后您可以将其连接到任何 log4net 附加程序。通过将我们的 SyslogLayout 类连接到 log4net 的 UdpAppender 或 syslog4net 的自定义 TcpAppender,您可以非常轻松地写入 Syslog 守护进程、splunk 或任何机器数据聚合器。
该项目的 github 站点上提供了文档、用法和示例。
You could also give syslog4net a try. syslog4net works by creating a custom log4net layout that writes messages in Syslog’s RFC5424 standard format. You can then hook that up to any log4net appender. You can write to a Syslog daemon, splunk, or any machine data aggregator pretty easily by connecting our SyslogLayout class to log4net’s UdpAppender or syslog4net's custom TcpAppender.
Documentation, usage, and examples are available on the project's github site.
我的服务器记录到运行 syslog-ng 的 ubuntu 服务器。为了使主机名正确显示,我使用了以下命令:
I have my servers logging to a ubuntu server running syslog-ng. In order to get the hostname showing correctly, I used this: