【发布时间】:2016-02-11 19:53:39
【问题描述】:
在 Minnow Max 上运行 Ubuntu,尝试在单声道应用程序中使用 log4net,Udp 附加程序不会登录到远程位置。在具有相同配置的 Raspberry Pi 2 上运行相同的应用程序,Udp 附加程序会正确记录。当我启用 log4net 日志记录时,没有错误,并且两台机器上的日志输出相同。我已经使用 nmap 和 Wire Shark 来验证 Udp 端口是否打开并正在发送数据包。 Minnow 上的文件附加程序正在正确记录。
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>
单声道
Mono JIT 编译器版本 4.3.0 (master/844fc33 Tue Oct 20 14:21:50 EDT 2015) 版权所有 (C) 2002-2014 Novell, Inc、Xamarin Inc 和 贡献者。 www.mono-project.com TLS:__thread SIGSEGV:altstack 通知:epoll 架构:amd64 禁用:无 杂项:软调试 LLVM:支持,未启用。 GC:sgen
log4net
1.2.15
【问题讨论】:
-
这个问题与 StackOverflow 定义的编程无关。在相关站点askubuntu.com 或ServerFault.com(专业的服务器或网络相关的基础设施管理)上可能更合适。考虑使用 Q 底部的标志链接,并要求版主将其移到那里。请不要在 2 个不同的网站上发布相同的 Q。谢谢,祝你好运。
-
如果您从网络数据包中确认数据已发送,那么它就变成了一个非编程问题。您必须检查网络以查看数据包丢失的位置。
-
数据包是通过 nmap 而不是 log4net 发送的。 log4net 没有发送任何数据包
标签: c# linux ubuntu mono log4net