Log4net (Log for .net)

Log4net (Log for .net)

开源的记录日志的组件,是从java的Log4J移植到.net

 


 

 

日志文件存放的位置

在项目新建“App_Code”和“App_Data”,该文件夹客户端无法访问

 


 

 

滚动日志文件

例:每个日志最多100MB,一个日志满了,就新建一个日志保存,最多可以容纳10个日志文件,超过10个文件,覆盖最老的日志文件

 


 

 

日志级别

日志对象根据你使用的级别,匹配webconfig设置日志级别,如果使用的级别大于配置的级别,那么才把日志内容记录到日志文件中。

常用级别项:Fatal>Error>Warn>Debug ,即 严重>错误>警告>调试。

 


 

 

在Web.config中配置Log4net

一、

在<configuration>节点下新建节点< configSections>节点

然后在< configSections>下新增:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

 

注意:

 

二、

然后

<configuration>

根节点下新增:

 1  <log4net>
 2     <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
 3     <!-- Set root logger level to ERROR and its appenders -->
 4     <root>
 5       <level value="ERROR" />
 6       <appender-ref ref="RollingFileTracer" />
 7     </root>
 8     <!-- Print only messages of level DEBUG or above in the packages -->
 9     <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net">
10       <param name="File" value="App_Data/Log/" />
11       <param name="AppendToFile" value="true" />
12       <param name="RollingStyle" value="Date" />
13       <param name="MaxSizeRollBackups" value="10" />
14       <param name="MaximumFileSize" value="1MB" />
15       <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
16       <param name="StaticLogFileName" value="false" />
17       <layout type="log4net.Layout.PatternLayout,log4net">
18         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
19       </layout>
20     </appender>
21   </log4net>
View Code

 

 

三、

在Global文件的Application_Start中写(程序启动的时候读取配置)

log4net.Config.XmlConfigurator.Configure();

 

四、

在编写程序时,如何使用

ILog logger = LogManager.GetLogger(typeof(当前类名)); 

logger.Error("记录日志的内容",);

注意:Error方法代表log对象调用Error的级别写入到日志文件中,如果配置文件配置的级别高于Error,那么内容将不会记录到日志文件中

 


 

 

项目中常规使用处

在Global文件配置

Application_Error中记录未处理异常

        protected void Application_Error(object sender, EventArgs e)

        {

            ILog log = LogManager.GetLogger(typeof(Global));

            log.Error("系统发生未处理异常",Context.Error);

        }

 

 


Web.config范例

 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <!--
 4   有关如何配置 ASP.NET 应用程序的详细信息,请访问
 5   http://go.microsoft.com/fwlink/?LinkId=169433
 6   -->
 7 
 8 <configuration>
 9 
10   <!--配置Log4net-->
11   <configSections>
12     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
13   </configSections>
14   
15     <system.web>
16       <compilation debug="true" targetFramework="4.5" />
17       <httpRuntime targetFramework="4.5" />
18 
19      
20 
21     </system.web>
22 
23   <!--连接字符串-->
24   <connectionStrings>
25     <add connectionString="Data Source=.;Initial Catalog=repengDb;User ID=sa;Password=84879825" name="sqlCon" />
26   </connectionStrings>
27 
28 
29 
30 
31 
32   <log4net>
33     <!-- 日志级别类型: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
34     <root>
35       <level value="ERROR" />  <!--设置日志写入级别-->
36       <appender-ref ref="RollingFileTracer" />  
37     </root>
38     
39     <!-- Print only messages of level DEBUG or above in the packages -->
40     <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net"><!-- type= 设置日志的记录类型,这里采用的是滚动日志-->
41 
42       <!--日志信息存储到哪个文件夹下-->
43       <param name="File" value="App_Data/Log/" />  
44 
45       <!--是否将内容追加到日志文件-->
46       <param name="AppendToFile" value="true" />
47 
48       <!--根据日期作为日志滚动-->
49       <param name="RollingStyle" value="Date" />
50 
51       <!--最大容纳10个日志文件-->
52       <param name="MaxSizeRollBackups" value="10" />
53       
54       <!--一个日志文件的大小-->
55       <param name="MaximumFileSize" value="1MB" />
56 
57       <!--日志文件命名方式-->
58       <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
59 
60       <!--有很多节点,需要时根据需求查找配置,没必要全都记住。。。。-->
61       <param name="StaticLogFileName" value="false" />
62       <layout type="log4net.Layout.PatternLayout,log4net">
63         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
64       </layout>
65     </appender>
66   </log4net>
67   
68 
69 </configuration>
View Code

 

posted @ 2016-08-26 16:33  姜承轩  阅读(462)  评论(1编辑  收藏  举报