并非任何操作都要写日志,我会用日志记录登录、登出、银行交易、多平台数据交互等操作,因功能而定。
log4j的配置分三类(我知道的),1:属性文件log4j.properties;2:xml文件log4j.xml;3:类配置。
这里只介绍属性文件的使用。在此之前,先了解一下日志的输出方式和优先级:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
优先级:OFF > FATAL > ERROR > WARN > INFO > DEBUG,详细配置会后续给出,下面只是基础配置:
log4j.rootLogger=info, myOut
### log message###
log4j.appender.myOut=org.apache.log4j.ConsoleAppender
log4j.appender.myOut.Target=System.out
log4j.appender.myOut.layout=org.apache.log4j.PatternLayout
log4j.appender.myOut.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
有了这些,日志就可以使用了,rootLogger定义,比info级别低的日志内容不会被输出,也就是debug级别的不会被输出;日志将根据myOut进行输出。
log4j.appender定义myOut(这个名字可以自定义,一一对应即可)的输出方式、输出样式。这里是控制台输出;对于样式,可以去网上搜,找到一个合适的就用着吧,不要花哨。
如何使用:
import org.apache.log4j.Logger;
Logger log = Logger.getLogger(XX.Class);// 根据CLASS输出
Logger log = Logger.getLogger(this.getClass());// 当前实例的CLASS,本质同上
Logger log = Logger.getLogger("属性文件中自定义");// 后续文章有讲解
log.debug("debug");//不会输出,因为属性文件的级别是info
log.info("info");//根据样式,输出16:14:39,843 INFO LogTest:14 - info
log.error("error");//优先级高于info的会输出,输出16:15:40,078 ERROR LogTest:15 - error
针对包或类的日志输出,属性文件中追加一下配置
log4j.logger.java.util.ArrayList=DEBUG
log4j.logger.com.log.test=DEBUG
以上,com.log.test是自定义包,ArrayList不用多说了吧,测试如下:
Logger logA = Logger.getLogger(ArrayList.Class);
log.info("log_info");//16:14:39,843 INFO LogTest:14 - log_info
log.debug("debug");//无输出
logA.debug("array_debug");// 16:15:40,078 DEBUG ArrayList:16 - array_debug
可以看到,虽然全局级别为info,但是针对ArrayList配置后,ArrayList的debug是可以显示的。
基本配置和使用先到这,后续文章会讨论其他问题,如日志写入到文件、自定义配置。
分享到:
相关推荐
2. **安全配置增强**:新增了`LOG4J2_DISABLE_JNDI`环境变量和`log4j2.disable.jndi`系统属性,当这些设置为true时,将完全禁用JNDI,进一步确保安全。 3. **漏洞影响的类修复**:针对漏洞利用的具体代码路径进行了...
在实际使用中,开发者通常会在应用中引用`log4j-api-2.14.0.jar`和`log4j-core-2.14.0.jar`,并将自定义的配置文件放置在类路径下。配置文件可以指定日志记录的级别(DEBUG、INFO、WARN、ERROR等),选择日志输出的...
2. **配置文件**:Log4j使用配置文件(如log4j2.xml或log4j2.json)来定义日志输出的位置、格式和级别。这些配置可以动态更新,无需重启应用。 3. **Appenders**:Appenders是Log4j用来输出日志信息的组件,例如...
Log4j是Java编程语言中广泛使用的日志记录框架,特别是在企业级应用和大型系统中。这个"**log4j-2.17.1**"的版本是该框架的一个更新,提供了修复的安全漏洞和性能优化。以下是关于Log4j 2.17.1的一些关键知识点: 1...
Log4j2使用XML、JSON或YAML格式的配置文件,使得日志配置更为直观和灵活。你可以根据需要设置不同级别的日志输出,如DEBUG、INFO、WARN、ERROR等,甚至可以为不同的类或方法定制日志级别。 4. **过滤器和Lookup**:...
对于那些已经使用Log4j的开发者和管理员来说,尽快将系统升级到2.15.0-rc2或更高版本至关重要。此外,由于Log4j广泛应用于各种产品和服务中,即使不直接使用该库的用户也可能受到影响。因此,检查供应链中的依赖关系...
6. **org.apache.log4j.PropertyConfigurator**:用于从属性文件中读取配置并初始化Log4j。 五、实际应用与最佳实践 在实际项目中,合理使用Log4j可以帮助调试、监控和分析程序运行状态。以下是一些最佳实践: 1....
描述中提到"log4j2和log4j在配置文件上有较大的不同,备份一份log4j2",这暗示了Log4j2在配置方式上进行了改进,与旧的Log4j相比有显著的变化。备份Log4j2意味着保留了这个特定版本的配置和文件,以便在需要时能够...
在解压后的"apache-log4j-2.0-rc1"文件夹中,通常包含源代码、库文件、文档和示例,你可以通过这些资源深入了解每个组件的工作原理和使用方法。学习和掌握Log4j 2.0,将有助于你在开发过程中实现高效、可控的日志...
1. **配置文件解析**:Log4j使用XML、JSON或YAML等格式的配置文件来设置日志级别、布局、输出目的地等。源码中`Configuration`类是配置解析的核心,它负责读取配置文件并构建日志系统。 2. **日志级别**:Log4j支持...
同时,log4j2.xml配置文件用于定制日志输出的行为和格式,使得日志管理更加灵活和高效。 二、log4j-api-2.8.2.jar 1. 日志接口:log4j-api提供了一组API,如Logger、Level、Appender、Layout等,让开发者能够方便...
这个压缩包"apache-log4j-2.0-alpha1-bin.tar"包含了Log4j 2.0的第一个alpha版本的二进制文件,用于在不同环境中快速部署和使用。 1. **Log4j 2.0 的改进与特性** - **性能优化**:相比Log4j 1.x,Log4j 2.0 在...
Apache Log4j 2.3 是一个广泛使用的Java日志框架,它提供了强大的日志记录功能,便于开发者在应用程序中追踪、控制和调试信息。这个jar包是专门为Java开发人员设计的,允许他们灵活地控制日志信息的输出格式、级别和...
本文将深入解析Log4j的配置文件属性、日志级别、布局方式以及参数设置等核心知识点,帮助你更好地理解和利用这个强大的工具。 一、配置文件属性解释 Log4j的核心配置文件通常是`log4j.properties`或`log4j.xml`,它...
3. 创建一个Log4j配置文件(如log4j2.xml或log4j2.properties),定义日志级别、Appender和Layout。 4. 在你的Java代码中初始化Log4j,并使用Logger类记录日志。 举例来说,一个简单的`log4j2.xml`配置文件可能如下...
在"apache-log4j-2.0-beta7-bin.zip"这个压缩包中,我们找到了Log4j 2.0 beta7版本的二进制文件,这通常包含了运行库和必要的配置文件,使得开发者可以快速地在他们的项目中集成和使用Log4j。 Log4j的核心功能是...
在"Log4j.jar包,和log4j.properties属性文件打包下载"中,我们有两个关键组成部分: 1. **Log4j.jar**:这是Log4j的主要库文件,包含了所有必需的类和方法,使得程序员能够方便地在代码中插入日志语句。它提供了...
这表明即使是对初学者来说,Log4j的使用和概念也是易于理解的,并且推荐它作为学习日志框架的起点。 从【标签】来看,"log4j" 这一关键词表明了文档的主要内容是围绕着Apache Log4j展开的。Apache Log4j是由Apache...
Log4j作为Java世界中广泛使用的日志框架,其最新版本Log4j 2.15.0-rc2在安全性和功能上都做了进一步的提升。本文将对这个编译好的版本进行深度剖析。 首先,Log4j 2.15.0-rc2是一个针对Log4j 2.x系列的修复和改进...
1. **配置灵活性**:Log4j支持通过XML、JSON、YAML、properties等多种格式的配置文件来定制日志级别、输出目的地和格式,这使得开发者可以根据不同环境和需求调整日志策略。 2. **多种日志级别**:包括TRACE、DEBUG...