博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日志组件log4net学习总结
阅读量:5937 次
发布时间:2019-06-19

本文共 3375 字,大约阅读时间需要 11 分钟。

记录的日志类别主要有FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)五种。

1.在配置文件中添加以下配置节,并在顶级节点<configuration>下增加<log4net>子节点。

<configSections>

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

 </configSections>

2.在<log4net>节点下增加<appender>子节点,每个<appender>子节点代表一种记录日志的方式,但并不代表启用。

<appender name="errorAppender" type="log4net.Appender.RollingFileAppender">

  <filter type="log4net.Filter.LevelMatchFilter">

    <levelToMatch value="ERROR" />

  </filter>

  <filter type="log4net.Filter.DenyAllFilter" />

  <PreserveLogFileNameExtension value="true" />

  <!--日志文件名开头-->

  <File value="\Logs\err.log" />

  <!--是否追加到文件-->

  <appendToFile value="true" />

  <!--混合使用日期和文件大小变换日志文件名-->

  <rollingStyle value="Composite" />

  <!--日期的格式-->

  <datePattern value="yyyyMMddHHmm" />

  <!--最大变换数量-->

  <maxSizeRollBackups value="1000" />

  <!--最大文件大小-->

  <maximumFileSize value="10MB" />

  <layout type="log4net.Layout.PatternLayout">

    <conversionPattern value="%date %logger - %message%newline" />

  </layout>

</appender>

其中ERROR是日志类别的一种,其余四种不再单独列出,配置类似。将日志分门别类,便于查找需要的文件及时排查错误原因。

3. 在<log4net>节点下增加<root>子节点,每个< root >子节点代表启用记录日志的方式。

<root>

  <level value="ALL" />

  <appender-ref ref="errorAppender" />

  <appender-ref ref="infoAppender" />

  <appender-ref ref="debugAppender" />

</root>

其中ALL表示全部启用,OFF表示全部禁用,其余表示启用相应的日志记录。

4. 在<log4net>节点下增加<logger>子节点,每个< logger >子节点代表某个模块启用记录日志的方式,可以避免日志过快增长,但会影响读写性能,可以结合实际情况适当选用。配置文件格式同<root>节点。

5.在web应用程序的全局配置文件的Application_Start事件中,添加如下代码:

XmlConfigurator.Configure();

在需要记录日志的地方调用如下代码:

            ILog log = LogManager.GetLogger("Test");

            log.Error("ERROR");

不同的日志类别调用不同的方法,可以把异常信息也传入到日志文件中以便于查找问题与排除故障。其中创建日志记录组建实例也可以使用下面的代码,将更加方便。

            ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

相关参数简写附注:

%m:输出的日志消息

%n:换行

%d:输出当前语句运行的时刻

%r:输出程序从运行到执行到当前语句时消耗的毫秒数

%t:当前语句所在的线程ID

%p:日志的当前优先级别

%c:当前日志对象的名称

%l:输出语句所在的行号

%f:输出语句所在的文件名

%-数字—表示该项的最小长度,若不够则用空格填充

附详细配置文件具体说明,由于配置文件过长而将类似配置节部分省略,这些配置节不一定要同时使用甚至有些配置节是互斥的,应该根据实际情况适当选择配置节:

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
配置文件

 

转载于:https://www.cnblogs.com/lzygsls/p/4216293.html

你可能感兴趣的文章
Create Volume 操作(Part III) - 每天5分钟玩转 OpenStack(52)
查看>>
tomcat 8.0虚拟机配置文档
查看>>
pxc群集搭建
查看>>
JS中加载cssText延时
查看>>
常用的脚本编程知识点
查看>>
XILINX_zynq_详解(6)
查看>>
计算机网络术语总结4
查看>>
新手小白 python之路 Day3 (string 常用方法)
查看>>
soapUI的简单使用(webservice接口功能测试)
查看>>
框架 Hibernate
查看>>
python-while循环
查看>>
手机端上传图片及java后台接收和ajaxForm提交
查看>>
【MSDN 目录】C#编程指南、C#教程、ASP.NET参考、ASP.NET 4、.NET Framework类库
查看>>
jquery 怎么触发select的change事件
查看>>
angularjs指令(二)
查看>>
(原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
查看>>
<气场>读书笔记
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
web安全问题分析与防御总结
查看>>
React 组件通信之 React context
查看>>