一下内容是Apache log4net官网技术文档通过google翻译而来
http://logging.apache.org/log4net/release/features.html
概述
log4net的是一个工具,帮助程序员输出日志报表的各种输出目标。如遇问题,一个应用程序,它有助于启用日志记录,这样的问题可以被找到。用log4net的,可以启用日志记录在运行时无需修改应用程序的二进制文件。 log4net的包被设计成使得日志语句可以留在运送代码,而不会产生高的性能成本。由此可见记录(或者更确切地说,没有记录)的速度是至关重要的。
同时,日志输出可以如此浩繁,它很快变得势不可挡。其中一个log4net的与众不同的特点是分层记录仪的概念。使用这些记录器能够选择性地控制哪些日志语句是在任意粒度的输出。
log4net的是设计时考虑到两个不同的目标:速度和灵活性
产品特点
- 支持多种框架
- 输出到多个日志目标
- 分层架构的日志
- XML配置
- 动态配置
- 登录上下文
- 业经验证的架构
- 模块化和可扩展的设计
- 高性能与灵活性
支持多种框架
log4net的运行在所有ECMA CLI1.0兼容的运行环境。 log4net的具有特定版本以下的框架:
- Microsoft® .NET Framework 1.0
- Microsoft .NET Framework 1.1
- Microsoft .NET Framework 2.0
- Microsoft .NET Framework 3.5
- Microsoft .NET Framework 4.0
- Microsoft .NET Framework 3.5 Client Profile
- Microsoft .NET Framework 4.0 Client Profile
- Microsoft .NET Compact Framework 1.0*
- Microsoft .NET Compact Framework 2.0*
- Mono 1.0
- Mono 2.0
- Microsoft Shared Source CLI 1.0*
- CLI 1.0 Compatible
输出到多个日志目标
log4net的附带以下附加目的地(不是所有框架):
日志类型 | 类型描述 |
log4net.Appender.AdoNetAppender | 写入事件日志使用或者准备好的语句或存储过程的数据库。 |
log4net.Appender.AnsiColorTerminalAppender | 写颜色突出显示事件记录到一个ANSI终端窗口。 |
log4net.Appender.AspNetTraceAppender | 写日志记录事件到ASP跟踪上下文。这些然后可以在ASP页的端部或在ASP跟踪页面上呈现。 |
log4net.Appender.ColoredConsoleAppender | 写颜色突出显示事件记录到应用程序的Windows控制台。 |
log4net.Appender.ConsoleAppender | 写记录事件到应用程序的控制台。该事件可能会被定位到了我们的标准流或标准错误流。 |
log4net.Appender.DebugAppender | 写记录事件到.NET系统。 |
log4net.Appender.EventLogAppender | 写日志记录事件到Windows事件日志。 |
log4net.Appender.FileAppender | 写入记录事件来在文件系统中的文件。 |
log4net.Appender.LocalSyslogAppender | 写入事件日志到本地syslog服务(仅限UNIX)。 |
log4net.Appender.MemoryAppender | 存储记录事件在内存中的缓冲区。 |
log4net.Appender.NetSendAppender | 写记录事件到Windows Messenger服务。这些信息显示在一个用户终端的对话框。 |
log4net.Appender.OutputDebugStringAppender | 写日志事件的调试器。如果应用程序没有调试,系统调试器显示的字符串。如果应用程序没有调试和系统调试器处于非活动状态,该消息被忽略。 |
log4net.Appender.RemoteSyslogAppender | 写使用UDP网络记录事件到远程syslog服务。 |
log4net.Appender.RemotingAppender | 写入事件日志使用.NET远程处理一个远程接收器。 |
log4net.Appender.RollingFileAppender | 写入记录事件来在文件系统中的文件。的RollingFileAppender进行可配置为登录到基于日期或文件大小约束的多个文件。 |
log4net.Appender.SmtpAppender | 将事件记录到的电子邮件地址。 |
log4net.Appender.SmtpPickupDirAppender | 将事件记录到一个电子邮件地址,但该邮件写入到配置目录,而不是直接通过SMTP发送它们。 |
log4net.Appender.TelnetAppender | 客户端通过Telnet连接到接收日志记录事件。 |
log4net.Appender.TraceAppender | 写记录事件到.NET跟踪系统。 |
log4net.Appender.UdpAppender | 发送记录事件无连接的UDP数据报给远程主机或使用UdpClient的一个组播组。 |
特别log4net.Appender.ForwardingAppender可用于包装其他附加器,例如附加额外的过滤器。
分层架构的日志
分层记录是再合适不过与基于组件的开发。每个组件都有自己的记录仪。当单独测试,这些记录仪的性能可以为开发人员需要进行设置。当与其它成分结合时,记录器继承了部件的积分所确定的属性。一个可以有选择地提高记录优先于一个组件,而不会影响其他组件。当你需要的只是一个单一的部件进行详细的跟踪不拥挤的跟踪文件与其他组件的消息,这是很有用的。所有这可以通过配置文件来实现;没有需要修改代码。
XML配置
log4net的是使用XML配置文件来配置。的配置信息可以在其他XML配置文件(如应用程序的.config文件),或在一个单独的文件被嵌入。配置是很容易读取和更新,同时保留来表达所有配置的灵活性。
另外log4net的可以通过编程设置。
动态配置
log4net的可以监视其更改的配置文件,并动态地应用由配置所做的更改。日志记录级别,追加器,布局,以及几乎一切可以在运行时调整。在许多情况下,可以不终止过程中的问题进行诊断应用的问题。这可以在调查与部署应用程序的问题非常有价值的工具。
记录上下文
log4net的可用于收集记录的上下文数据的方式,是透明的显影剂在记录的点。该GlobalContext中和ThreadContext允许应用程序存储附加到日志消息上下文数据。例如,在Web服务中,一旦调用者被验证呼叫者的用户名可被存储在一个ThreadContext属性。此属性将被自动记录为来自同一个线程所做的每一个后续日志消息的一部分。
成熟的架构
log4net的是基于非常成功的Apache™的log4j日志库,在发展自1996年以来这种流行和成熟的架构,迄今已被移植到12种语言。