log4net的使用

1、项目中添加一个配置文件Log4Net.config

<?xml version="1.0" encoding="UTF-8"?> 
<log4net debug="false">

<!--按日期分割日志文件 一天一个-->
<appender name="LogFileAppenderByDate" type="log4net.Appender.RollingFileAppender" >

<!--是否续写-->
<param name="AppendToFile" value="true" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />
<param name="StaticLogFileName" value="true" />

<param name="File" value="Log\\" />
<param name="DatePattern" value="yyyy-MM-dd.LOG" />
<param name="StaticLogFileName" value="false" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="发生时间:%d %n事件级别:%level %n相关类名:%c%n程序文件:%F 第%L行%n日志内容:%m%n-----------------------------------------%n%n" />
</layout>
</appender>

<!--按日志容量分割日志文件 10240KB一个-->
<appender name="LogFileAppenderBySize" type="log4net.Appender.RollingFileAppender" >

<!--是否续写-->
<param name="AppendToFile" value="true" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />

<param name="StaticLogFileName" value="true" />

<!--按照文件的大小进行变换日志文件-->
<param name="RollingStyle" value="Size" />
<param name="File" value="Log\\log.txt" />
<!--单个文件最大数量 好像只有在 按Size分割时有效-->
<param name="MaximumFileSize" value="5000KB"/>
<!--保留的log文件数量 超过此数量后 自动删除之前的 好像只有在 按Size分割时有效-->
<param name="MaxSizeRollBackups" value="500" />

<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="发生时间:%d %n事件级别:%level %n相关类名:%c%n程序文件:%F 第%L行%n日志内容:%m%n-----------------------------------------%n%n" />
</layout>
</appender>

<root>
<level value="INFO" />
<!--启用按日期分割-->

<!--<appender-ref ref="LogFileAppenderByDate" />—>
<!--启用按容量分割
-->
<appender-ref ref="LogFileAppenderBySize" />
</root>
</log4net>

 

2、在AssemblyInfo.cs添加

[assembly: log4net.Config.DOMConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

 

 

3、在Global.asax中

protected void Application_Start(object sender, EventArgs e) 
{
// 在应用程序启动时运行的代码
//配置log4net
log4net.Config.DOMConfigurator.Configure();
}

 

4、调用

public static readonly ILog Log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 

Log.Warn("出错了!", ex);
posted @ 2012-03-12 16:15  Viky  阅读(502)  评论(2编辑  收藏  举报