1
2つのログファイルを作成しようとしています。私のアプリケーションでは、コード内にロガー名を指定してログを記録しています。Log4net - 間違ったアペンダーへのログ
問題は、ターゲットにしようとしているファイルには決してログを記録せず、代わりにconfig(LogB)に最後に宣言されたアペンダにログを記録することです。
次のように私は私の設定は、設定した:
<log4net>
<logger name="LogA">
<appender-ref ref="LogA"/>
<level value="DEBUG"/>
</logger>
<logger name="LogB">
<appender-ref ref="LogB"/>
<level value="DEBUG"/>
</logger>
<appender name="LogA" type="log4net.Appender.FileAppender">
<file value="E:\Logs\LogA.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="LogB" type="log4net.Appender.FileAppender">
<file value="E:\Logs\LogB.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="LogA" />
</root>
<root>
<level value="DEBUG" />
<appender-ref ref="LogB" />
</root>
</log4net>
その後、私のコードでは、私はロガーを作成する場合:
private static readonly ILog logA = LogManager.GetLogger("LogA");
log.Debug("This should log to LogA");
そして、いくつかの他のクラスで:
private static readonly ILog logB = LogManager.GetLogger("LogB");
log.Debug("This should log to LogB");
をしかし、LogAファイルには何も記録されず、常にLogBファイルに出力されます(または、confiの最後に表示されるものg)。
これはなんですか?