C# Ubuntu上mono中的log4net Udp appender未记录
在Minnow Max上运行Ubuntu试图在mono应用程序中使用log4net,Udp appender不会登录到远程位置。在Raspberry Pi 2上运行相同的应用程序,并使用相同的配置正确配置Udp追加器日志。当我启用log4net日志记录时,没有错误,并且两台机器上的日志输出是相同的。我使用nmap和Wire Shark验证Udp端口是否打开并发送数据包。Minnow上的文件追加器正在正确记录 C#代码 Log4Net.ConfigC# Ubuntu上mono中的log4net Udp appender未记录,c#,linux,ubuntu,mono,log4net,C#,Linux,Ubuntu,Mono,Log4net,在Minnow Max上运行Ubuntu试图在mono应用程序中使用log4net,Udp appender不会登录到远程位置。在Raspberry Pi 2上运行相同的应用程序,并使用相同的配置正确配置Udp追加器日志。当我启用log4net日志记录时,没有错误,并且两台机器上的日志输出是相同的。我使用nmap和Wire Shark验证Udp端口是否打开并发送数据包。Minnow上的文件追加器正在正确记录 C#代码 Log4Net.Config <?xml version="1.0" e
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="Main" type="log4net.Appender.RollingFileAppender">
<file value="dcsLog.log" />
<appendToFile value="true" />
<maximumFileSize value="1GB" />
<maxSizeRollBackups value="3" />
<encoding value="utf-8" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate{ISO8601} %-8level %-28logger %message%newline" />
</layout>
</appender>
<appender name="UdpAppender" type="log4net.Appender.UdpAppender">
<remoteAddress value="192.168.10.53" />
<remotePort value="7071" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j" />
<encoding value="utf-8" />
</appender>
<root>
<level value="Debug" />
<appender-ref ref="Main" />
</root>
<logger name="Drake.Mfg.DCS.DEI80021">
<level value="Debug" />
<appender-ref ref="UdpAppender" />
</logger>
</log4net>
单声道
Mono JIT编译器版本4.3.0(master/844fc33周二10月20日14:21:50
EDT 2015)版权所有(C)2002-2014年Novell公司、Xamarin公司和
贡献者。www.mono-project.com
TLS:u_螺纹
SIGSEGV:altstack
通知:epoll
架构:amd64
残疾人士:无
杂项:软调试
LLVM:受支持,未启用。
GC:sgen
log4net
1.2.15
Log4Net配置与xml一样区分大小写。Minnow的主机名是小写的,我在找大写的。因为我对主机名没有唯一的控制权,所以我使用了一个更高的权限
ILog logger = LogManager.GetLogger($"Drake.Mfg.DCS.{Environment.MachineName.ToUpper()}");
现在和将来都会修复此问题。此问题与StackOverflow定义的编程无关。它可能更适合于相关站点或(与服务器或网络相关的专业基础设施管理)。考虑在Q的底部使用标志链接,并要求主持人把它移到那里。请不要在两个不同的网站上发布相同的Q。谢谢,祝你好运。如果你从网络数据包中确认数据已发送,那么这将成为一个非编程问题。您必须检查网络以查看数据包丢失的位置。数据包是通过nmap而不是log4net发送的。没有从log4net发送数据包
ILog logger = LogManager.GetLogger($"Drake.Mfg.DCS.{Environment.MachineName.ToUpper()}");