1. Log4J的组成
Log4J由3个部件组成:记录器(Loggers)、存放器(Appenders)和布局(Layouts)。记录器会按照布局中指定的格式把日志信息存放到指定的一个或多个存放器中(如控制台,文本文件)。
2. 记录器
Loj4J允许程序员定义多个记录器,每个记录器都有自己的名字。每一个记录器都有一个级别值,如果记录器没有被赋予级别值,它就从父类中继承过来。特别的要注意的是根记录器总有级别值。
Log4j.rootLogger = info,stdout,file //定义了两个记录器,名字为stdout和file //一般建议使用四个级别 error、warn、info和debug
3. 存放器(输出目的地)
log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out //定义stdout存放器的的类型以及target属性
4. 布局
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n //定义stdout的显示类型和显示格式
5. 程序中加载配置文件
public class TestLog4j { public static Logger logger = Logger.getLogger(TestLog4j.class); public static void main(String[] args) { PropertyConfigurator.configure("log4j.properties "); logger.debug(" debug "); logger.error(" error "); } }
6. 完整的例子
log4j.rootLogger = debug , stdout ,file ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n ### 输出到日志文件 ### log4j.appender.file = org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File = logs/log.log log4j.appender.file.Append = true log4j.appender.file.Threshold = DEBUG ## 输出DEBUG级别以上的日志 log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 保存异常信息到单独文件 ### log4j.appender.file = org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File = logs/error.log ## 异常日志文件名 log4j.appender.file.Append = true log4j.appender.file.Threshold = ERROR ## 只输出ERROR级别以上的日志!!! log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
相关推荐
Log4j只需要引入一个JAR包,即log4j.jar,而Log4j2则需要引入两个核心JAR包,即log4j-core.jar和log4j-api.jar。大家可以发现,Log4j和Log4j2的包路径是不同的,Apache为了区分,包路径都更新了。 文件渲染 Log4j...
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
log4j-slf4j-impl-2.17.1则是log4j 2系列实现SLF4J接口的组件,版本号为2.17.1。这个组件允许开发者通过SLF4J接口使用log4j 2的功能,为那些希望利用SLF4J抽象层的用户提供了一个高效的日志实现方案。 在实际应用中...
分别有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...
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
### Log4j2简介 Log4j2是Apache软件基金会推出的日志框架,它是Log4j 1.x的重构版本,旨在提供更为高效且灵活的日志解决方案。与Log4j 1.x相比,Log4j2在设计上进行了重大改进,并解决了Logback等其他日志框架中...