Log4Net を使用してログ ファイルにログを書き込み、ローカルの一時フォルダーの場所 (C:\temp ..) に保存しました。ここで、実行時にテキスト (ログ) ファイル名を変更したいので、構成ファイルとアプリケーションでコードを変更しました。しかし、ファイル名はローカルの一時フォルダーで変更できず、ログもテキスト ファイルに書き込まれませんでした。
この問題の解決策や、この問題を解決するための他の例を教えてください。
ここに私のコードは次のとおりです。
私の構成ファイル(Web.Config)の設定:
<appender name="RollingPatternFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%property{LogFileName}.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} %-5level : [%logger] - %message %newline" />
</layout>
</appender>
<logger name="SPM.SERVER">
<level value="DEBUG" />
<appender-ref ref="RollingPatternFileAppender" />
</logger>
私のアプリケーションコードは次のとおりです。
ILog logger = LogManager.GetLogger("SPM.SERVER");
log4net.ThreadContext.Properties["LogFileName"] = "MyLog";
logger.Debug("Load Data",ex);
XmlConfigurator.Configure();
このコードは、ファイル内にログを書き込まず、ファイル名も変更しませんでした。このコードで私が間違っていたことを修正するか、この解決策を達成するための他の例を教えてください。