日志框架LOG4J2系列二——log4j2配置文件
上一节:日志框架LOG4J2系列一——入门
在上一节留下了两个疑问:
1、为什么日志输出到控制台,如何输出到文件中?
2、日志的格式为什么是这样的?
要回答上面的这两个问题,那就得介绍log4j2的配置了,这里强烈推荐大家有时间去官网看一下
Apache Log4j 2
一、log4j2支持的配置文件格式
- log4j2支持XML、JSON、YAML和properties四种配置文件格式,当然官网上还介绍了通过代码来进行配置的方法,这里不重点介绍。
- log4j2最方便的在于自动加载配置,log4j2自动加载配置的优先级如下:
1. log4j2在程序启动时会检查系统配置项“log4j2.configurationFile”,如果此配置项被设置,则优先采用此配置项指定的配置文件去解析加载; 2. 如果1中的系统配置项没有被指定,则按下面优先级顺序加载。首先寻找classpath下的log4j2-test.properties文件 3. 寻找classpath下的 log4j2-test.yaml 或者 log4j2-test.yml 文件 4. 寻找classpath下的 log4j2-test.json 或者 log4j2-test.jsn文件 5. 寻找classpath下的 log4j2-test.xml 文件 6. 如果上述test文件没有找到,则尝试寻找classpath下的 log4j2.yaml 或者 log4j2.yml 文件 7. 寻找classpath下的 log4j2.json或者 log4j2.jsn文件 8. 寻找classpath下的 log4j2.xml 文件 9. 如果上述配置文件都无法找到,则日志直接输出到控制台
由上就可以解释上一节中,为什么我们的日志直接输出到控制台了。
二、log4j2.xml配置文件
xml文件较为常用,我们先以xml文件为例,在classpath下创建log4j2.xml
文件,IDEA可以直接放在resources文件夹下面,如下所示:
我们写一个最基础的log4j2.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration name="log-demo-config" status="error" monitorInterval="10">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{yyyy-MM-dd;HH:mm:ss.SSS Z}] [%-5p] [%t] [%c] %m%n"></PatternLayout>
</Console>
</Appenders>