所以由于某种原因,我们的记录器已经停止记录,我完全不知道为什么。我在我的项目中使用的是以下内容:
log4net 配置:
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="UdpAppender" />
<appender-ref ref="RollingFile" />
</root>
<appender name="UdpAppender" type="log4net.Appender.UdpAppender">
<remoteAddress value="127.0.0.1" />
<remotePort value="8180" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
<locationInfo value="true" />
</layout>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="Logs/DA.RA.log"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<appendToFile value="true"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<rollingStyle value="Size"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date %logger - %message%newline"/>
</layout>
</appender>
</log4net>
在我的 web.config 我有以下行:
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=a3d255455d3dcb36"
requirePermission="false"/>
在我的 global.asax 中,application_start 方法中有以下行:
string filename = Server.MapPath( @"~\XML\log4net.xml" );
log4net.Config.XmlConfigurator.ConfigureAndWatch( new System.IO.FileInfo( filename ) );
当我在我使用的任何页面中调用记录器时:
private static readonly ILog logger = LogManager.GetLogger(typeof(ReportParameters));
我尝试了很多我在网上找到的不同的东西。这些包括:
将以下行添加到我的项目中的程序集中
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
我试过:
[assembly: log4net.Config.XmlConfigurator()]
我已将 log4net.dll 的版本从 1.2.10.0 升级到 1.2.11.0。
我尝试将 log4net 附加程序添加到 web.config 文件而不是它自己的文件中,但我仍然没有从日志记录中得到任何信息。