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 codebehind
protected 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