Webサービスで参照されるクラスライブラリにロギング機能を実装したいと思います。私はapp.configを追加しようとしましたが、すべてが必要でしたが、例外がスローされたときにlog4netは何もしません。クラスライブラリにlog4netを含めるには?
私のapp.configを
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="D:\\mylogfile.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="test" />
</filter>
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="error" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="RollingFileAppender"/>
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
AssemblyInfo.csで
:LogManager.csで
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config")]
:
private static readonly ILog Log = log4net.LogManager.GetLogger
(MethodBase.GetCurrentMethod().DeclaringType);
public static void WriteLog(Exception ex)
{
Log.Error(ex);
}
あなたは間違って何を教えていただけますか?私のクラスライブラリでlog4netを動作させるにはどうすればいいですか?
あなたは
WriteLogを呼び出すコードはどのように見えますか? –
btw、あなたのレベルをrootに設定してみましたか?あなたのRollingFileAppenderでそれらのフィルタをすべて削除してみてください。 –
@Pauli:あなたが提案したようにしてみましたが、まだ動作しませんでした:) – Vimvq1987