Log4net 配置使用总结(一)
博客园里面关于Log4net配置介绍的文章已经很多了,本篇想对Log4net做一个整体、全面的介绍。一来整理一下自己在学习、配置中遇到的一些问题、二来梳理、总结一下这方面的知识。所以下面相当一部分是从官方资料翻译过来,翻译不当之处,还请大家多多指教(http://www.cnblogs.com/kerrycode)。
Log4net 介绍
Log4net是一个基于.NET开发的一款非常著名的记录日志的开源组件,它是Apache日志服务项目的一部分。从它的官方网址为http://logging.apache.org/上面你可以看到还有log4j(Java)、 log4cxx(C++)、log4php(Php)其它三种语言的类似项目。旨在提供对应用程序调试和审计目的的跨语言记录服务。
Log4net 版本历史
Log4net的版本演变历史:
1.2.0 Beta 1
1.2.0 Beta 2
1.2.0 Beta 3
1.2.0 Beta 4
1.2.0 Beta 5
1.2.0 Beta 6
1.2.0 Beta 7
1.2.0 Beta 8
1.2.9 Beta
1.2.10
具体各版本的演变,新特征的、新功能细节,你可以在下面这个url地址里查看
http://logging.apache.org/log4net/release/release-notes.html
Log4net 特征
概述:
Log4net是一个帮助开发者把日志文档输出到各种媒介(日志文件、数据库、系统日志等)的工具,在应用程序遇到问题时(比如异常、调试信息等),它的记录信息能够帮助问题的定位。
Ø 支持多种Framework框架
Ø 日志输出形式多样化
Ø 分层记录的架构
Ø XML 配置
Ø 动态配置
Ø Logging Context (不知道怎么翻译好)
Ø 已经验证的架构
Ø 模块化和可扩展设计
Ø 高性能、高度灵活
支持多种framework框架
log4net 能够运行在和各种ECMA CLI 1.0 兼容的环境中. log4net特定构建了下面各种frameworks框架:
- Microsoft .NET Framework 1.0 (1.0.3705)
- Microsoft .NET Framework 1.1 (1.1.4322)
- Microsoft .NET Framework 2.0 (2.0.50727)
- Microsoft .NET Compact Framework 1.0
- Mono 1.0
- Mono 2.0
- Microsoft Shared Source CLI 1.0
- CLI 1.0 Compatible
、
日志输出形式多样化
Type | Description |
---|---|
log4net.Appender.AdoNetAppender | Writes logging events to a database using either prepared statements or stored procedures. |
log4net.Appender.AnsiColorTerminalAppender | Writes color highlighted logging events to a an ANSI terminal window. |
log4net.Appender.AspNetTraceAppender | Writes logging events to the ASP trace context. These can then be rendered at the end of the ASP page or on the ASP trace page. |
log4net.Appender.ColoredConsoleAppender | Writes color highlighted logging events to the application's Windows Console. |
log4net.Appender.ConsoleAppender | Writes logging events to the application's Console. The events may go to either the standard our stream or the standard error stream. |
log4net.Appender.EventLogAppender | Writes logging events to the Windows Event Log. |
log4net.Appender.FileAppender | Writes logging events to a file in the file system. |
log4net.Appender.LocalSyslogAppender | Writes logging events to the local syslog service (UNIX only). |
log4net.Appender.MemoryAppender | Stores logging events in an in memory buffer. |
log4net.Appender.NetSendAppender | Writes logging events to the Windows Messenger service. These messages are displayed in a dialog on a users terminal. |
log4net.Appender.OutputDebugStringAppender | Writes logging events to the debugger. If the application has no debugger, the system debugger displays the string. If the application has no debugger and the system debugger is not active, the message is ignored. |
log4net.Appender.RemoteSyslogAppender | Writes logging events to a remote syslog service using UDP networking. |
log4net.Appender.RemotingAppender | Writes logging events to a remoting sink using .NET remoting. |
log4net.Appender.RollingFileAppender | Writes logging events to a file in the file system. The RollingFileAppender can be configured to log to multiple files based upon date or file size constraints. |
log4net.Appender.SmtpAppender | Sends logging events to an email address. |
log4net.Appender.TelnetAppender | Clients connect via Telnet to receive logging events. |
log4net.Appender.TraceAppender | Writes logging events to the .NET trace system. |
log4net.Appender.UdpAppender | Sends logging events as connectionless UDP datagrams to a remote host or a multicast group using a UdpClient. |
分层记录架构
分层记录是一个基于组件开发的理想选择。每个组件都有它自己的记录。单独测试时,这些记录器的属性可能被设置为开发人员需要。当与其他组件相结合,由组合的每个组件继承的属性决定。人们可以选择性地提高某个组件日志记录级别的优先级不影响其他的组件。这是非常有用的,当您需要一个详细的跟踪其中一个单一的组件与无需其他组件的跟踪信息。所有这一切都可以通过配置文件;无需更改代码是必需的。
XML 配置
log4net 的配置可以用XML文件来配置,配置信息也可以嵌入到其它配置文件中(像应用程序的config文件)或单独放置在一个XML文件当中。配置有很好的可读性和容易更新特性的同时,又有很大的灵活性来表达所有配置。另外log4net是可配置编程
动态配置
log4net能够检测它的配置文件的变化并且动态应用配置文件的更改。日志记录级别、日志追加方式、日志显示样式等几乎所有事情都可以在系统运行时调整。在许多例子中,log4net能够诊断应用程序问题而不用终止应用程序进程。它是一款用来诊断已部署应用程序问题非常有价值的工具
Logging Context
log4net能够用来收集上下文数据(系统数据),以一种方式传递给开发者。 该GlobalContext和ThreadContext允许应用程序以附加消息的形式存储到日志数据中。例如, 在Web服务中,一旦调用者以授权的用户名调用服务时,这个调用者信息就会存储在ThreadContext属性中, 这个属性将会自动记录并且作为同一线程后续日志信息的一部分.
已经验证的框架
log4net是基于非常成功的log4j日志记录类库开发的,从1996开始,这种流行并且成功的架构,已经被移植到12种语言上.
转载于:https://www.cnblogs.com/kerrycode/archive/2011/03/12/1982263.html
Log4net 配置使用总结(一)相关推荐
- log4net配置自定义字段存入数据库
2019独角兽企业重金招聘Python工程师标准>>> 前言 以bs项目中引入log4net为例.log4net存入数据库提供了基本的(时间.线程.等级.message)字段. 但是 ...
- Log4Net 配置日志按日期和日志级别分类写入
配置效果图: 配置代码: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <log4net> 3 ...
- Asp.Net中MVC中的Log4Net配置及运用
前言: 项目里我们都需要记录一些日志.当然记录的日志的方式有很多,比如用文本记录日志,数据库记录日志,甚至用word记录日志,但是这些记录日志的方式不灵活.下面我为大家介绍下一个简单的日志组件:Log ...
- log4net 配置参数意思
二) Appenders Appenders决定日志输出的方式. Appenders必须实现log4net.Appenders.IAppender接口. Log4net 2 AnsiC ...
- log4net配置学习 之 日志等级
Logger hierarchy(层次级别) Logger都是已经命名的实体. Logger的名称区分大小写并遵循以下规则: 1.如果A logger的名称如果是B logger名称的前缀(通过&qu ...
- Log4Net 配置
<?xml version="1.0" encoding="utf-8"?> <configuration><configSect ...
- Log4Net配置使用简记
1,引用Log4Net.dll .当前为2.0.8.0版,可添加Nuget包.我的办法是从下载的包中直接引用相应.net版本的dll以减小项目体积 2,在App.config中增加<sectio ...
- Log4net配置方式
Web应用程序配置log4net(添加Log4net.dll): 1,修改web.config 1 <?xml version="1.0" encoding="ut ...
- Log4net 配置实例
首先需要下载并引用Log4net的binary.这一步可以通过在Visual Studio里的Manage Nuget package for solution轻松添加. 第二步是配置config文件 ...
最新文章
- 高精度运算(C++实现)
- 在图像生成领域里,GAN这一大家族是如何生根发芽的
- MySQL递归查询父节点或递归查询子节点-陈远波
- ajax传值到ashx接收反序列
- Go语言实时GC - 三色标记算法
- 为什么要在网站上主动放置沃通全球可信网站认证标志
- phpstudy免费安全检测服务_@你,您有一份免费安全服务已到账
- 修改Visual Studio中“添加新项”时默认添加的命名空间
- 关于用C#编写ActiveX控件3(转)
- qt 旋转后的三维坐标_OpenGL + Qt: 3 - 旋转动画和键盘操纵
- java wsdl文件生成代码_wsdl文件生成java代码
- 基于《女士品茶》分享统计学中假设检验的那些知识和应用
- 只有程序员能听懂的笑话【关于TCP的链接的笑话】
- Win7安装补丁KB2670838
- PowerJob 的自实现高可用方案,妙妙妙!
- 黑客新工具,可窃取Gmail、雅虎、Outlook等电子邮件
- 普通开普勒式望远镜光学设计1-初始结构设计选型与物镜像差校正
- 兰伯特(Lambert)模型
- Activity。。。
- IPFS 服务的Python API参考