是否有针对log4net的低级TCP appender?

Rob*_*iff 9 c# dns log4net tcp logstash

我一直在使用UDPAppender将日志发送到logstash.我希望能够通过DNS实现logstash服务器的故障转移.

隐式地,UDPAppender不检测远程UDP端口是否可用,但即使它确实如此,当我使用remoteAddress的DNS名称对其进行配置时,它在初始化期间被解析为IP地址并记录为IP地址.该RemoteAddresss财产.我知道RemotingAppender,但这似乎不像logstash,因为logstash TCP输入没有实现.NET远程协议,看起来它会遇到通过DNS解析远程IP地址的相同问题仅在初始化步骤.

我正在考虑实现我自己的appender,通过ping包装UDPAppender或通过DNS名称处理重新连接来复制RemotingAppender.这样的事情是否已经存在?

Che*_*rra -5

在这里找到了这个,UdpAppender 即将结束

SDK参考

UDPAppender

有关完整详细信息,请参阅 SDK 参考条目:log4net.Appender.UdpAppender。

以下示例显示如何配置 UdpAppender 以将事件发送到指定 RemotePort 上的 RemoteAddress。

<appender name="UdpAppender" type="log4net.Appender.UdpAppender">
    <localPort value="8080" />
    <remoteAddress value="224.0.0.1" />
    <remotePort value="8080" />
    <layout type="log4net.Layout.PatternLayout, log4net">
        <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

  • 是的,我确实给了您 UDP 附加器的示例代码,因为没有提供代码,所以很难弄清楚在什么时候它不适合您。因此,如果您可以提供示例代码,以便我可以帮助您。仅供参考,空投威胁并不是真正的 Stackover 流程​​。提供示例,到目前为止您所做的事情是,这不是一个完成您工作的网站,而是在您陷入困境时为您提供帮助。 (2认同)