log4j2的简单应用

这里只说明一下log4j2的简单配置和应用,类似“hello world”范例。

首先,需要在pom.xml中配置log4j2的依赖dependency:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.11.1</version>
    </dependency>

log4j2和之前的的1.x版本有一个明显的不同,其配置文件只能采用.xml, .json或者 .jsn。而1.x版本很多都是用properties文件的,所以这里需要注意下。

下面是一个完整的xml格式的配置文件,定义了appenders,loggers,以及输出的pattern。更多配置项请查看官网。xml文件命名为log4j2.xml,放置在项目目录下:

src/main/resources/log4j2.xml   或者是

src/test/resources/log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 设置log4j2的自身log级别为warn -->
<!-- OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<configuration status="WARN" monitorInterval="30">
    <appenders>
        <console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
        </console>
        
        <File name="LogFile" fileName="src/test/resources/log.txt">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </File>
 
    </appenders>
 
    <Loggers>
        <Logger name="fileLog" level="info" additivity="true">
            <AppenderRef ref="LogFile" />
        </Logger>
        <Root level="info">
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>
 
</configuration>

在需要日志输入的java类文件中,声明Logger对象,注意import的是

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

 千万别import成java util类库的logger

java.util.logging.Logger

 声明并使用:

public static final Logger logger = LogManager.getLogger(XXX.class);

logger.info("this is a log");

 

posted @ 2018-10-31 17:42  心笔轩  阅读(436)  评论(0编辑  收藏  举报