log4net Udp appender in mono on Ubuntu not logging
本文关键字:Ubuntu not logging on mono Udp appender in log4net | 更新日期: 2023-09-27 18:34:11
在
Minnow Max 上运行 Ubuntu,尝试在单声道应用程序中使用 log4net,Udp 追加器不会记录到远程位置。在具有相同配置的树莓派 2 上运行相同的应用程序,Udp 追加器会正确记录。当我启用log4net日志记录时,没有错误,并且两台计算机上的日志输出相同。我已经使用nmap和Wire Shark来验证Upp端口是否打开并发送数据包。小鱼上的文件追加器正在正确记录。
C# 代码
private static readonly ILog Logger = LogManager.GetLogger($"Drake.Mfg.DCS.{Environment.MachineName}");
public static LogLevel ConsoleLevel { get; set; }
public static void LogToNet(string message, LogLevel logLevel)
{
try
{
switch (logLevel)
{
case LogLevel.None:
break;
case LogLevel.Trace:
Logger.Trace(message);
break;
case LogLevel.Debug:
Logger.Debug(message);
break;
case LogLevel.Info:
Logger.Info(message);
break;
case LogLevel.Warn:
Logger.Warn(message);
break;
case LogLevel.Error:
Logger.Error(message);
break;
case LogLevel.Fatal:
Logger.Fatal(message);
break;
case LogLevel.AlwaysLog:
Logger.Info(message);
break;
default:
throw new ArgumentOutOfRangeException(nameof(consoleLevel), consoleLevel, null);
}
Console.WriteLine($"{message}");
Console.ResetColor();
}
Log4Net.Config
<?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>
单
单声道 JIT 编译器版本 4.3.0 (master/844fc33 周二 10 月 20 日 14:21:50 EDT 2015( 版权所有 (C( 2002-2014 Novell, Inc, Xamarin Inc 和 贡献。www.mono-project.com 短信:__thread SIGSEGV: altstack 通知:电子轮询 架构: amd64 禁用:无 杂项:软调试 LLVM:支持,未启用。 GC: sgen
日志4网
1.2.15
Log4Net 配置与 xml 一样区分大小写。小鱼的主机名是小写的,我正在寻找大写。因为我不能单独控制主机名,所以我使用了 To Upper。
ILog logger = LogManager.GetLogger($"Drake.Mfg.DCS.{Environment.MachineName.ToUpper()}");
现在和将来都修复了它。