如何使用SYSLOG和TLS从windows服务发送日志



我正在创建一个Windows服务,该服务将使用SYSLOG向远程服务器发送日志。此服务器要求使用TLS发送日志。

我目前正在使用Microsoft.Extensions.Logging.Log4Net.AspNetCore(Log4Net(来实现这一点。但log4net的RemoteSyslogAppender似乎不支持TLS(RFC5425(。

<?xml version="1.0" encoding="utf-8"?>
<log4net debug="true" threshold="ALL">
<!-- Doc: http://logging.apache.org/log4net/release/sdk/index.html -->
<!-- From Xml-Schemas, add CommonConfigAndInfolog4net.xsd -->
<appender name="SYSLOG" type="log4net.Appender.RemoteSyslogAppender">
<remoteAddress value="%env{SYSLOG_URL}" />
<remotePort value="514" />
<appName>Application</appName>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline"/>
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="SYSLOG" />
</root>
</log4net>

我看到一个Nuget包(https://www.nuget.org/packages/syslog4net/)增加了TLS支持,但自2017年以来一直没有更新。所以我有点犹豫要不要用它。

有人找到解决方案了吗?似乎log4net是用于登录.NET的goto库?奇怪的是,它不支持TLS这样常见的东西?

序列号使用Syslog接收器成功了!

最新更新