Log4net 配置使用总结(一)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Log4net 介绍 

Log4net是一个基于.NET开发的一款非常著名的记录日志的开源组件,它是Apache日志服务项目的一部分。从它的官方网址为http://logging.apache.org/上面你可以看到还有log4jJava)、 log4cxxC++)、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能够用来收集上下文数据(系统数据),以一种方式传递给开发者。 GlobalContextThreadContext允许应用程序以附加消息的形式存储到日志数据中。例如, Web服务中,一旦调用者以授权的用户名调用服务时,这个调用者信息就会存储在ThreadContext属性中, 这个属性将会自动记录并且作为同一线程后续日志信息的一部分.

已经验证的框架 

log4net是基于非常成功的log4j日志记录类库开发的,从1996开始,这种流行并且成功的架构,已经被移植到12种语言上.

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
473 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
27天前
|
SQL
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO
|
1月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
44 5
|
3月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
3月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
48 1
|
3月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
234 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
5月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
5月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
60 6