`
- 浏览:
190771 次
- 性别:
- 来自:
苏州
-
log4j所有日志级别 off debug info warn error fatal all, 其中常用的是debug info warn error, log4j只记录 打印等级>=配置等级的日志,如log4j.properties中配置记录等级是info,那么代码中的debug()日志是不会被记录到日志中的。
log4j.rootLogger=[level],[appender1,appender2...]
log4j.logger.com.test=[level],[appender1,appender2...]
第一句是配置根“存储器”,level表示记录级别,后面的表示存储器,可以有多个。存储级别和记录器都是可以省略的,但中间的逗号不能省,如果省略了记录级别,则会依次去找它的父Logger的记录级别,直到roogLogger,每一个类对应的Logger只能有一个记录级别,子类的记录级别会覆盖父类的记录级别,如log4j.logger.com=info表示com这个包下的类的日志记录级别是info,如果此时的log4j.rootLogger的日志级别是debug,那么com包下的类会覆盖根中的等级配置。但是,子Logger的记录器会继承父Logger中的继承器(相同的不会覆盖,而是两个),如果log4j.roogLogger=debug, console, log4j.logger.com=debug, console,那么此果的com下的类有两个记录器console,console,也就是说会打印两条日志。此时可以用log4j.additivity.com=false禁用com下的类的日志输出。
存储器:
前面说过可以对包\类设置日志记录级别,日志会被记录到存储器中,在存储器的配置里,我们也可以针对存储器配置日志的记录等级,log4j.appender.XX.Threshold=info表示只有等级 >=info的日志才允许记录到这个存储器中,此时debug()的信息是不能被记录到这个存储器的。
常用的存储器一般是文件(每日文件和滚动文件),开发常用是控制台,还有其它的存储器。
PS:上面说的Logger的父子关系,指的是包的层级结构上的父子级关系,如 com.test.chapter1.Test这个类,Test类的父Logger是com.test.chapter1,再往上是com.test再往上是com,再往上就是rootLogger了。
还有两个问题,我在用ibatis,想看执行的sql, log4j.properties和 http://www.iteye.com/topic/309147 这篇文章上说的一样,我只配置了java.sql.PreparedStatement,其它的ibatis的java.sql.Connection java.sql.ResultSet我不要,但是这样log4j会警告说:Connection和ResultSet没有配置,无关大雅,可以继续用。但是我通过log4j.additivity.java.sql.Connection=false把Connection的日志给忽略掉,结果不行,不知道是什么原因。
另一个问题:如果我配置了log4j.roogLogger的话,系统运行会很慢,不配置的话会很快,不知道为什么???
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### Java Log4j 配置详解 #### 一、Log4j 概述 Log4j 是 Apache 的一个开源项目,被广泛应用于 Java 应用程序的日志记录中。通过 Log4j,开发者可以轻松控制日志信息的输出目的地、格式以及级别。这使得日志的管理...
总结一下,Kafka Java Log4j的整合使日志处理变得更加高效和灵活。通过Log4jAppender,我们可以在不改变现有日志记录逻辑的情况下,将日志数据无缝地集成到Kafka的实时数据流中,进一步进行数据处理、分析或者存储。...
总结来说,Log4j-1.2.4是Log4j的一个经典版本,虽然功能可能没有最新版本强大,但在许多项目中仍然被广泛使用,尤其对于那些不追求最新特性的稳定项目。了解和掌握它的使用方法,可以帮助我们更好地管理和调试Java...
总结来说,Log4j 2作为Java中的强大日志框架,提供了高效的日志处理能力,丰富的配置选项,以及良好的扩展性。通过理解并熟练掌握Log4j 2的使用,开发者可以更好地管理和监控应用的运行状态,为问题排查和性能优化...
### Java Log4j 使用详解 #### 一、Java 日志管理概述 在Java应用程序中,良好的日志管理对于系统的维护和故障排查至关重要。本篇文章旨在详细介绍如何在Java中使用Log4j来管理日志,包括其配置方法以及与其他日志...
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
Log4j作为一款广泛使用的Java日志框架,在很多项目中扮演着重要角色。然而,在使用过程中可能会遇到字符编码的问题,特别是中文乱码的情况,这不仅会影响日志的可读性,还可能导致难以追踪的问题。本文将详细介绍...
总结,Log4j2的异步多线程打印功能是提高系统性能和日志管理效率的关键。通过理解和实践这个示例项目,开发者可以更好地掌握如何在实际应用中利用Log4j2的强大功能,优化日志处理,尤其是在高并发的复杂环境中。
总结起来,Log4j是一个强大的日志框架,它提供了灵活的日志配置、多种输出方式以及丰富的日志级别控制。通过理解Log4j的基本组件和配置,开发者可以有效地利用它来监控和调试应用程序,同时保证系统的稳定性和安全性...
总结一下,使用Log4j进行日志管理包括以下步骤: 1. 添加`log4j-1.2.17.jar`到项目构建路径。 2. 创建并配置`log4j.properties`文件,定义日志级别和输出方式。 3. 在Java代码中导入`Logger`,并使用`getLogger`获取...
总结,SLF4J和Log4j的组合使用让日志管理更加灵活,开发者可以通过SLF4J的简洁API进行日志记录,同时利用Log4j的强大功能,如自定义输出格式和多种输出目的地。通过适当的配置和测试,我们可以确保日志系统按照预期...
总结一下,使用Java中的Log4J需要以下几个步骤: 1. 引入Log4J的jar包。 2. 配置Log4J,指定日志级别和输出目的地。 3. 在Java代码中创建`Logger`实例,并使用它记录日志。 在实际开发中,正确地使用Log4J可以帮助...
在Log4j2 version 2.1这个版本中,引入了更多的优化和新特性,使其成为Java开发者进行日志管理的首选工具之一。 **主要组件** 1. **Logger**: 日志记录的核心组件,负责接收日志事件并将其传递给配置的Appender。 ...
Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...
总结,log4j2.17.2是应对Log4j2 RCE漏洞的重要更新,通过加强安全配置和限制危险功能,为Java应用程序提供了更坚固的安全屏障。对于依赖Log4j2的系统而言,及时升级至该版本是保障系统安全、防范潜在风险的有效手段...
总结,Log4j作为Java日志处理的重要工具,其灵活性和强大功能使其在开发和运维工作中占据了重要地位。了解并熟练掌握Log4j的使用,有助于提升开发效率,优化系统的可维护性。然而,随着技术的发展,建议关注更新的...
总结,Log4j的灵活性使其成为Java开发中不可或缺的工具,通过合理配置,不仅可以生成动态的日志文件名,还能动态创建文件夹,有效管理和组织大量的日志数据。在实际项目中,结合`logDemo.txt`等样例文件进行实践,能...
总结,Log4j作为经典的Java日志框架,其强大的功能和灵活性使其在各种项目中得到广泛应用。了解并熟练掌握Log4j的使用,有助于提升开发效率,优化日志管理,为问题排查和系统监控提供有力支持。
总结来说,Log4j-1.2.17提供了灵活的日志管理功能,通过配置文件可以定制化日志输出的方式和内容,对于开发、调试和维护Java应用具有极大的帮助。尽管有更新的版本如Log4j2可用,但Log4j 1.x仍然在许多项目中得到...