`
wang_zhi_peng2007
  • 浏览: 256920 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log4j

 
阅读更多

   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和Log4j2的区别(推荐)

    Log4j只需要引入一个JAR包,即log4j.jar,而Log4j2则需要引入两个核心JAR包,即log4j-core.jar和log4j-api.jar。大家可以发现,Log4j和Log4j2的包路径是不同的,Apache为了区分,包路径都更新了。 文件渲染 Log4j...

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...

    log4j-1.2-api-2.17.1、log4j-api-2.17.1、log4j-core-2.17.1、slf4j-api-1.7.36、log4j-slf4j-impl-2.17.1

    log4j-slf4j-impl-2.17.1则是log4j 2系列实现SLF4J接口的组件,版本号为2.17.1。这个组件允许开发者通过SLF4J接口使用log4j 2的功能,为那些希望利用SLF4J抽象层的用户提供了一个高效的日志实现方案。 在实际应用中...

    Log4j2学习用到的jar包及apache-log4j-2.19.0-bin.zip

    分别有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...

    logging-log4j2-log4j-2.15.0-rc2.zip maven 资源库

    针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...

    Log4j2简介及与Log4j效率对比

    ### Log4j2简介 Log4j2是Apache软件基金会推出的日志框架,它是Log4j 1.x的重构版本,旨在提供更为高效且灵活的日志解决方案。与Log4j 1.x相比,Log4j2在设计上进行了重大改进,并解决了Logback等其他日志框架中...

Global site tag (gtag.js) - Google Analytics