博客园里面关于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

日志输出形式多样化 

log4net ships with the following appenders (not on all frameworks):

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 配置使用总结(一)相关推荐

  1. log4net配置自定义字段存入数据库

    2019独角兽企业重金招聘Python工程师标准>>> 前言 以bs项目中引入log4net为例.log4net存入数据库提供了基本的(时间.线程.等级.message)字段. 但是 ...

  2. Log4Net 配置日志按日期和日志级别分类写入

    配置效果图: 配置代码: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <log4net> 3 ...

  3. Asp.Net中MVC中的Log4Net配置及运用

    前言: 项目里我们都需要记录一些日志.当然记录的日志的方式有很多,比如用文本记录日志,数据库记录日志,甚至用word记录日志,但是这些记录日志的方式不灵活.下面我为大家介绍下一个简单的日志组件:Log ...

  4. log4net 配置参数意思

    二)         Appenders Appenders决定日志输出的方式. Appenders必须实现log4net.Appenders.IAppender接口. Log4net 2 AnsiC ...

  5. log4net配置学习 之 日志等级

    Logger hierarchy(层次级别) Logger都是已经命名的实体. Logger的名称区分大小写并遵循以下规则: 1.如果A logger的名称如果是B logger名称的前缀(通过&qu ...

  6. Log4Net 配置

    <?xml version="1.0" encoding="utf-8"?> <configuration><configSect ...

  7. Log4Net配置使用简记

    1,引用Log4Net.dll .当前为2.0.8.0版,可添加Nuget包.我的办法是从下载的包中直接引用相应.net版本的dll以减小项目体积 2,在App.config中增加<sectio ...

  8. Log4net配置方式

    Web应用程序配置log4net(添加Log4net.dll): 1,修改web.config 1 <?xml version="1.0" encoding="ut ...

  9. Log4net 配置实例

    首先需要下载并引用Log4net的binary.这一步可以通过在Visual Studio里的Manage Nuget package for solution轻松添加. 第二步是配置config文件 ...

最新文章

  1. 高精度运算(C++实现)
  2. 在图像生成领域里,GAN这一大家族是如何生根发芽的
  3. MySQL递归查询父节点或递归查询子节点-陈远波
  4. ajax传值到ashx接收反序列
  5. Go语言实时GC - 三色标记算法
  6. 为什么要在网站上主动放置沃通全球可信网站认证标志
  7. phpstudy免费安全检测服务_@你,您有一份免费安全服务已到账
  8. 修改Visual Studio中“添加新项”时默认添加的命名空间
  9. 关于用C#编写ActiveX控件3(转)
  10. qt 旋转后的三维坐标_OpenGL + Qt: 3 - 旋转动画和键盘操纵
  11. java wsdl文件生成代码_wsdl文件生成java代码
  12. 基于《女士品茶》分享统计学中假设检验的那些知识和应用
  13. 只有程序员能听懂的笑话【关于TCP的链接的笑话】
  14. Win7安装补丁KB2670838
  15. PowerJob 的自实现高可用方案,妙妙妙!
  16. 黑客新工具,可窃取Gmail、雅虎、Outlook等电子邮件
  17. 普通开普勒式望远镜光学设计1-初始结构设计选型与物镜像差校正
  18. 兰伯特(Lambert)模型
  19. Activity。。。
  20. IPFS 服务的Python API参考

热门文章

  1. Android动画开发——Animation动画效果
  2. Linux SSH命令使用大全
  3. drf3 Serializers 序列化组件
  4. Docker 环境的快速搭建
  5. python多线程并行编程_Python并行编程(二):基于线程的并行
  6. 【宜搭客户说】宜搭帮助教育局搭建教育管理平台
  7. 一文读懂阿里云数据库Autoscaling是如何工作的
  8. 伽蓝集团:用数据驱动增长的美妆行业引领者
  9. 天池四月读书会|数据分析金融量化,6场直播,6位大咖,6个项目实战
  10. 阿里妈妈基于TensorFlow做了哪些深度优化?TensorFlowRS架构解析