最近搭建一个新的WebService工程,感觉日志系统有些慢,尤其是大量的JDBC日志写入日志文件时,想起了以前关注过的log4j的异步日志方式,从Apache的log4j上了解了具体配置,于是开始改进日志配制文件,便有了此文。
log4j的日志写入对象有很多种,基本上满足了任何写入要求,如写入控制台(ConsoleAppender)、数据库(JDBCAppender)、文件(FileAppender)、文件回滚(RollingFileAppender)、按日文件回滚(DailyRollingFileAppender)、邮件、自定义、甚至于Socket或以流的方式(WriteAppender
)发送到任何指定的位置。
而log4j的日志级别分为5种,既:FATAL、ERROR、WARN、INFO、DEBUG
log4j的输出格式:
- HTMLLayout (以HTML表格形式布局)
- PatternLayout (可以灵活地指定布局模式)
- SimpleLayout (包含日志信息的级别和信息字符串)
- TTCCLayout (包含日志产生的时间、线程、类别等等信息)
简要的介绍了下基本配制,下面列出我在使用的异步日志配制供参考
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
</layout>
</appender>
<appender name="DRFOUT" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="logs/brws.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="yyyy_MM_dd'.'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %l %x - %m%n" />
</layout>
</appender>
<appender name="ASYNCOUT" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="512" />
<appender-ref ref="DRFOUT" />
</appender>
<root>
<level value="info" />
<appender-ref ref="STDOUT" />
<appender-ref ref="DRFOUT" />
</root>
</log4j:configuration>
分享到:
相关推荐
而Log4j2的一个显著特性是支持异步日志写入,这种模式可以显著提高系统的整体性能,特别是在高并发环境下。 本文主要探讨Log4j2异步写日志的效率,通过源码分析和测试来展示其优势。首先,我们要理解Log4j2中的异步...
Log4j2是Apache提供的一款强大且灵活的日志框架,它的出现替代了早期的Log4j,提供了更高的性能和更丰富的功能。本文将深入探讨如何在Log4j2中实现异步写日志,并通过提供的文件`TestController.java`、`log4j2.xml`...
Log4j2是Apache软件基金会开发的日志框架Log4j的升级版,它具有更高的性能、灵活性和可配置性。Log4j2支持多种日志记录级别(如DEBUG、INFO、WARN、ERROR),并允许通过XML、JSON、YAML或纯Java配置文件进行灵活配置...
1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...
压缩包中的"**lib**"目录可能包含Log4j的必要依赖库,比如`log4j.jar`,这是运行Log4j的日志记录功能所必需的。确保这些库文件被添加到Tomcat的`lib`目录,使得所有部署的应用都能访问Log4j。 综上所述,通过正确...
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...
Log4j是Apache组织提供的一款广泛使用的日志框架,它允许开发者灵活地控制日志信息的输出。本文将详细讲解如何动态设置Log4j的日志级别,以满足不同场景下的需求。 首先,我们要理解日志级别的概念。Log4j提供了多...
### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...
Log4j2引入了异步日志记录器,通过使用后台线程处理日志事件,从而避免了这种阻塞,极大地提升了应用的性能。 **多线程支持** 在多线程环境中,Log4j2能够确保日志事件的正确性和顺序。每个线程都有自己的日志上...
Log4j是一款广泛使用的Java日志记录框架,它允许开发者按照功能模块或特定需求记录应用程序运行过程中的事件信息。在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
**日志系统在软件开发中扮演着至关重要的角色,它能帮助开发者跟踪程序运行...同时,不断学习和探索log4j的高级特性,如异步日志、MDC(Mapped Diagnostic Context)等,可以进一步提升日志系统的实用性和可维护性。
Log4j是一个广泛使用的Java日志框架,它提供了强大的日志处理功能,包括日志级别控制、自定义日志格式、多路复用等。然而,由于Android系统对第三方库的限制,直接在Android工程中使用Log4j需要一些额外的步骤。本文...
Log4j2是一款广泛使用的日志框架,它提供了灵活且高效的日志记录功能。本示例将详细介绍如何配置并使用Log4j2将日志信息记录到MySQL数据库中。 首先,我们要理解Log4j2的核心概念。Log4j2主要包括以下几个组件: 1...
本文将深入探讨如何配置 Log4j 来实现异步日志记录,并进行测试验证。 首先,为了在项目中使用 Log4j,我们需要在 Maven 的 `pom.xml` 文件中添加对应的依赖。这里引入的是 `slf4j-log4j12`,它是一个桥接包,使 ...
分别有disruptor-3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF...
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
Log4j 是一个广泛使用的日志记录工具,能够帮助开发者跟踪应用程序运行过程中的信息、警告、错误等事件。本文将深入探讨如何在 MyBatis 中配置 Log4j,实现日志同时输出到后台控制台和文件。 1. **日志框架集成** ...
在项目中配置Log4j,通常需要一个配置文件(如log4j.properties或log4j.xml),定义日志输出的格式、级别和目标。例如,通过以下配置可以将日志信息写入名为"app.log"的文件: ```properties # log4j.properties ...
Log4j2是Log4j的升级版本,它基于LMAX Disruptor的异步日志在多线程环境下性能远远优于Log4j 1.x和logback。 本文将详细介绍如何使用Slf4j集成Log4j2构建项目日志系统的完美解决方案。 背景: 随着项目的发展,对...