【问题标题】:How to send logs using SYSLOG and TLS from a windows service?如何使用 SYSLOG 和 TLS 从 Windows 服务发送日志?
【发布时间】:2020-11-10 11:17:38
【问题描述】:

我正在创建一个 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 Common\ConfigAndInfo\log4net.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 这样常见的东西?

【问题讨论】:

    标签: c# asp.net-core .net-core tls1.2 syslog


    【解决方案1】:

    Serilog 使用 Syslog 接收器成功了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多