Il punto 4 rappresenta il tipo di output corrispondente a questa configurazione.
1)Fare riferimento alla libreria log4net.dll nel progetto (directory bin) e inserire il codice nel Global.asax
protected static log4net.ILog log;
private System.ComponentModel.IContainer components = null;
protected void Application_Start(object sender, EventArgs e)
{
InitializeComponent();
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile));
log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Debug("Application_Start");
}
protected void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
}
void Application_End(object sender, EventArgs e)
{
log.Debug("Close Application");
}
void Session_Start(Object sender, EventArgs E)
{
Application.Lock();
Application.UnLock();
log.Debug("Session start.");
}
2) Nel Web.Config
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
...
<log4net>
<appender name="DebugAppender" type="log4net.Appender.DebugAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{dd MMM yyyy HH:mm:ss,fff} %-5p [%c] %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value=" %m%n" />
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log/example.log"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="12MB"/>
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{dd MMM yyyy HH:mm:ss,fff} %-5p [%c] %m%n"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="FileAppender"/>
</root>
</log4net>
</configuration>
3) Nel codebehindprotected static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//create method and put inside this code
try{
//code here
log.Debug("Debug description");
}
catch (Exception ex)
{
log.Error(ex);
}
4) Esempio di output sul file "example.log"06 Sep 2010 10:05:28,140 ERROR [Project.Classname] Error description
02 Oct 2010 16:10:12,267 DEBUG [Project.Classname] Debug description