そのため、何らかの理由でロガーがログ記録を停止し、その理由について完全に途方に暮れています。私のプロジェクトで使用しているのは次のとおりです。
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 ファイルに追加しようとしましたが、まだログから何も得られません。