标签:
1.第一步:在web.config文件添加如下代码:
[sourcecode language="csharp"] <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="TestLog.txt"/> <appendToFile value="true"/> <rollingStyle value="Composite"/> <datePattern value="yyyyMMdd"/> <maxSizeRollBackups value="10"/> <maximumFileSize value="10MB"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%d{yyyy-MM-dd HH:mm:ss}] [%p] [%c:%L] - %m%n"/> </layout> </appender> <root> <level value="DEBUG"/> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> [/sourcecode]
第二步:添加Log4Net引用
第三步:在global.asax 文件中添加命名空间
[sourcecode language="csharp"] using log4net; using log4net.Config; using log4net.Repository; using log4net.Repository.Hierarchy; [/sourcecode]
在 Application_Start 方法下添加
[sourcecode language="csharp"] protected void Application_Start(object sender, EventArgs e) { XmlConfigurator.Configure(); } [/sourcecode]
第四步 :添加Logger 类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Phone.BLL { public class LogHelper { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); public static void WriteLog(string info) { if(loginfo.IsInfoEnabled) { loginfo.Info(info); } } public static void WriteLog(Exception se) { if(logerror.IsErrorEnabled) { logerror.Error(se); } } public static void WriteLog(string info,Exception se) { if(logerror.IsErrorEnabled) { logerror.Error(info, se); } } } }
第五不: 捕获异常
catch (Exception ex) { LogHelper.WriteLog(ex); return Ok(new WebResult(2)); }
log4net 常用参数:
FAQ:
1.控制日志文件大小的问题
对于一个长时间使用并且有大量业务日志的系统来说,如果使用FileAppender将日志一直记录到一个文件中会引起性能低下的问题,我曾见过有个系统的日志文件达到了800多M,最后系统无法及时响应了,在这种情况下可考虑使用RollingFileAppender循环记录日志,一种是指定文件的最大长度,如果超过了就重新生成一个文件,如下面的配置:
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="RollingFileAppender_log.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="100KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] (%file:%line) %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender>
<appender name="RollingLogFileAppender_DateFormat" type="log4net.Appender.RollingFileAppender"> <file value="RollingLogFileAppender_DateFormat_log.txt" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <!--<datePattern value="yyyyMMdd-HHmm" />--> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread](%file:%line) %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender>
后记:
如果想暂停Log4Net日志功能,在webconfig添加如下代码即可
[sourcecode language="csharp"] <log4net></pre> <log4net threshold="OFF" /> <appender>..... [/sourcecode] [/sourcecode]Let me know if you face any further issue on this.
标签:
原文地址:http://www.cnblogs.com/code-charmer/p/4630625.html