最近、log4net(.NET) を使用したロギング プロジェクトをテストしましたが、これはコンソール プロジェクトです。プロジェクトを VS で実行するとログ ファイルを作成できますが、NUnit で .exe ファイルを実行するとログ ファイルを作成できません。ログの内容は UNnit GUI に出力されるだけです。エラーは発生しません。どうして?App.config で log4net を設定します。
このケースをテストするには、Nunit を使用する必要があります。
私はグーグルで検索しましたが、答えはありませんでした。
次のように App.config の私の設定ファイル:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="WARN">
</level>
<appender-ref ref="SystemLogFileAppender" />
</root>
<appender name="SystemLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="d:\" type="" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd_SYS.TXT" />
<param name="StaticLogFileName" value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<Encoding value="UTF-8" />
<layout type="Log.LogLayout">
<param name="ConversionPattern" value=" Level: %property{Level}%n Message: %property {Message}%n Exception: %property{Exception}%n CreateDate: %property{CreateDate}%n%n" />
</layout>
<filter type="Log.SystemLogFilter">
</filter>
</appender>
プロジェクトのAssemblyInfo.csの次のコードを追加しましたが、機能しません:
[assembly: log4net.Config.XmlConfigurator()]
次に、次のように変更しましたが、再び機能しません。
[assembly: log4net.Config.XmlConfigurator(ConfigFile=@"D:\LogTest\FrameworkTest.exe.config",Watch=true)]