博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速入门系列--Log4net日志组件
阅读量:6966 次
发布时间:2019-06-27

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

Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHibernate等。对于以本地日志为主的中小型的项目,Log4net已经足够使用,当然涉及跨平台的大型分布式系统可以选择Elmah等其他日志组件。

在这里,主要介绍log4net的一些关键知识点,详细内容可见以下链接:

  • 官方配置文档:
  • 老博主摩诘在10年前就做了很仔细的解释:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html
  • 博主每日一bo非常仔细的文档:http://www.cnblogs.com/caokai520/p/4387491.html

 

首先是log4net的四个对象:

  • Logger记录器:用于产生日志,包括Fatal、ERROR、WARN、INFO、DEBUG,可以通过设置logger的记录级别进行设置,例如level=INFO,那么除了DEBUG级别的信息,其他FATAL、ERROR、WARN、INFO等级别都将被记录。
  • Reposity库:维护日志对象的组织结构,主要用于对框架的扩展,一般使用不用关注。
  • Appender附着器:用于设置Log的输出模式,如文件、数据库、邮件等。
  • Layout布局:设置日志信息的格式。

 

其中Appender的选择很多,但最常见的最有实际意义的分别是:

log4net.Appender.RollingFileAppender:通过配置,可以达到日志文件每天以日期新建一个,方便查看,还可以设置日志文件大小,防止侵占硬盘。

log4net.Appender.SmtpAppender:用于FATAL、ERROR等高危级别的日志,直接发邮件给项目责任人,非常的方便有效。

log4net.Appender.AdoNetAppender:和SQL SERVER很紧密的结合,便于将重要日志信息记入数据库,便于查找和备份。

最后,想说的是log4net组件可以通过配置LockingModel设置并发时日志文件锁的模式,使其应用场景得到很大的扩充。

 

附上一个简单日志配置例子作为参考,具体设置时有什么问题欢迎一起探讨哈,:) :

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
75
76
77
78
79
80
View Code

 

转载于:https://www.cnblogs.com/xiong2ge/p/log4net_base.html

你可能感兴趣的文章
工作总结 获取html 标签 自定义属性值 根据html 自定义属性 获取 到标签...
查看>>
wait/waitpid函数与僵尸进程、fork 2 times
查看>>
payload和formData有什么不同?
查看>>
PyCharm搭建pyqt5开发环境
查看>>
微信小程序实战–集阅读与电影于一体的小程序项目(七)
查看>>
给大家分享两款正在使用的ref“.NET研究”lector插件
查看>>
帧中继网络 (转)
查看>>
Mac拷贝/复制文件夹路径快捷键
查看>>
yii直接执行sql
查看>>
OpenCV中的SVM參数优化
查看>>
同步与异步 阻塞与非阻塞
查看>>
squid3.0 隐藏 hearder 设置
查看>>
算法-java排序实现总结
查看>>
js 获取窗口、屏幕、页面元素宽高+位置(兼容ie)
查看>>
[Webpack并不难]使用教程(三)--- plugins
查看>>
TOP100summit:【分享实录】链家网大数据平台体系构建历程
查看>>
2017-10-13 前端日报
查看>>
PHP-X 系列教程:扩展内定义类和对象
查看>>
面试--css实现元素的水平和垂直居中
查看>>
软键盘管理
查看>>