log4j2 java 记录日志_记录日志之log4j2

log4j2

apache官方已经声明log4j1.x不再更新,建议开发者使用log4j2,它相比1.x在使用上发生了较大的变化。

使用log4j2记录日志的步骤

1.下载jar包

log4j2官网下载:http://logging.apache.org/log4j/2.x/

百度网盘下载:http://pan.baidu.com/s/1minAspq

下载后需要将下面两个jar包导入到项目中

log4j-api-2.9.1.jar

log4j-core-2.9.1.jar

2.添加日志输出控制文件

在log4j2中的配置文件是 XML 格式的文件,不再支持properties 文件。在src目录下创建log4j2.xml文件,里面写上下面内容。

filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">

3.编写日志记录代码

导包的时候注意Logger 与 LogManager 都是 org.apache.logging.log4j 包中的类,而不是org.apache.log4j包中的。另外在创建记录日志对象时,使用的是LogManager类

package com.monkey1024.test;

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;

/**

* log4j2

*

*/

public class Log4j2Test01 {

public static void main(String[] args) {

//创建记录日志的对象

Logger log = LogManager.getLogger(Log4j2Test01.class);

//下面语句会根据log4j2.xml中的日志级别输出

log.debug("debug信息");

log.info("info信息");

log.warn("warn信息");

log.error("error信息");

}

}

上面代码会将info以上级别的日志信息输出到控制台中。

日志输出控制文件分析

若开发者没有设置 log4j2.xml,则系统会使用默认的日志配置:只会输出到控制台 error 级别的信息。

configuration标签

configuration标签的 status 属性用于设置 Log4j2 自身运行的日志显示级别,一般为OFF,不显示,也可以设置为 ERROR、DEBUG 等其它级别。

Console标签

Console标签的 target 属性用于设置输出的目标形式,其值一般为:SYSTEM_OUT 或 SYSTEM_ERR

File标签

File标签的 fileName 属性用于设置文件的文件保存路径及文件名。如本例的意思是,日志文件名为 output.log,将其存放在当前项目的根目录下的 log 子目录中,如果log目录不存在会自动创建。

append 属性用于设置是否以追加方式将日志写入文件中。

RollingFile标签

fileName 指定存放目录及第一个日志文件名。filePattern 指定新创建的日志文件的文件名。本例还会对文件进行压缩。

SizeBasedTriggeringPolicy子标签用于指定每一个日志文件最大文件大小。当达到这个指定值后,会自动再新建一个日志文件。

loggers标签

用于配置根Logger 对象,用来指定所使用的日志记录器,及显示的级别。

其子标签root用于指定所使用的日志记录器。该子标签的属性 level 用于指定显示级别,主要是通过root的子标签appender-ref来引用appenders中定义好的记录器。

需要注意的是,只要在appenders中定义了File、 RollingFile等,且在其中指定了日志存放的目录,无论是否在appender-ref中引用,这些目录都会自动创建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值