Dla aplikacji typu '.net' np. asp.net (ale z wyłączeniem aplikacji typu sharepoint) jednym z gotowych, darmowych rozwiązań jest biblioteka log4net. Biblioteka dostępna jest pod licencją apache 2.0 (link do wikipedii).
Początkowo myślałem, aby się rozpisywać, jak skonfigurować oraz obsługiwać tą bibliotekę, ale myślę, że inni zrobili to znacznie lepiej, więc odsyłam do linków:
Łukasz Gąsior - > log4net-logujemy-zdarzenia-w-aplikacji/
Codeproject.com - log4net-Tutorial
Log4net - manual introduction
Przykładowa konfiguracja:
- web.config
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.
ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken= b77a5c561934e089" >
<section name="test.Properties.Settings" type="System.Configuration. ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken= b77a5c561934e089" requirePermission="false" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHan dler,Log4net"/>
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender"/>
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="C:\dev\test\test\Logs\test_log.log"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<datePattern value="dd.MM.yyyy" />
<staticLogFileName value="true" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %type.%method - %message%newline"/>
</layout>
</appender>
</log4net>
-global.asax:
protected void Application_Start(object sender, EventArgs e)
{
log4net.Config.
XmlConfigurator.Configure();
}
In application:
protected static readonly ILog log = LogManager.GetLogger(System.
Reflection.MethodBase. GetCurrentMethod(). DeclaringType);
use:
log.Info("foo bar");
Krótko i na temat! Chwali się
OdpowiedzUsuń