私はMVCベースのC#Windows Formsアプリケーションを持っています。私はprivate static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
を呼び出し、その後、私は私のメインサービスの初期化、最初の林で、主な方法でクラスはlog4netでファイルにログを出力しません
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="LogConsoleAppender"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
<appender name="LogConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="QAC.Source.Services.Log.LogPatternLayout">
<conversionPattern value="%date %level [Thread: #%thread] %message [%logger -> %M]%newline"/>
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/QAC_"/>
<datePattern value="yyyy-MM-dd_HH-mm-ss'.log'"/>
<staticLogFileName value="false"/>
<appendToFile value="false"/>
<rollingStyle value="Date"/>
<maxSizeRollBackups value="50"/>
<maximumFileSize value="10MB"/>
<layout type="QAC.Source.Services.Log.LogPatternLayout">
<conversionPattern value="%date %level [Thread: #%thread] %message [%logger -> %M]%newline"/>
</layout>
</appender>
</log4net>
:
mainService = MainFactory.getMainServiceInstance();
を私はapp.configファイルで次の構成を持っていますそして、問題があります。 mainメソッド内のすべてのログ出力は、ファイルとコンソール、およびその他のサービス(MainServiceの基本サービス)にも正常に記録されます。ログに記録されない唯一のクラスはMainServiceです。これでの好奇心は、このクラスのログはしばらくしてから始まるということです。フィルターは一切使っていません。私はlog4netデバッグを有効にしました:
<add key="log4net.Internal.Debug" value="true"/>
少なくともエラーはありません。だから私は、初期化が完了すると思います。また、MainServiceを初期化する前にログを記録すると、コンソールとファイルにも記録されます。このクラスだけはログに記録されません。
非常に助かります。前もって感謝します。