Chcę zaimplementować funkcję rejestrowania w bibliotece klas, do której się odwołuje w usłudze internetowej. Próbowałem dodać app.config i zrobiłem wszystko, co potrzebne, ale wydaje się, że po zgłoszeniu wyjątku log4net po prostu nic nie robi.Jak dołączyć log4net do biblioteki klas?
mój 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>
w AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config")]
w LogManager.cs:
private static readonly ILog Log = log4net.LogManager.GetLogger
(MethodBase.GetCurrentMethod().DeclaringType);
public static void WriteLog(Exception ex)
{
Log.Error(ex);
}
Czy możesz mi powiedzieć, co się stało? Jak mogę uruchomić log4net dla mojej biblioteki klas?
Dziękuję
jak wygląda kod, w którym wywołujesz WriteLog? –
btw, czy próbowałeś ustawić poziom w katalogu głównym na WSZYSTKO i spróbuj usunąć wszystkie te filtry w RollingFileAppender. –
@Pauli: Próbowałem zgodnie z sugestią, nadal nie działa :) – Vimvq1987