最近在一springboot项目中引入log4j时,无法成功的输出日志文件。倒腾之后两点记下两点需要注意的地方。
1、配置:
<!--变量配置-->
<Properties>
<!--
格式化输出:
%d表示日期,
%thread表示线程名,
%-5level:级别从左显示5个字符宽度
%msg:日志消息,%n是换行符
-->
<!--
%logger{36} 表示 Logger 名字最长36个字符
-->
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%-5level}[%thread] %style{%logger{36}}{cyan} : %msg%n" />
<!-- 定义日志存储的路径,不要配置相对路径
比如:这里配置value="/logs",同时tomcat是安装在D(或者E)盘的,那么后续生成的日志文件就会存储在D(或者E):\logs\ 目录下-->
<property name="FILE_PATH" value="此处更换为你的日志文件存储路径" />
<!-- 项目名称,如value="log-test" -->
<property name="FILE_NAME" value="此处更换为你的项目名称" />
</Properties>
2、 如果是使用本地测试的方式,如下测试代码:
package com.xl.test.logtest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogConfigTest {
private static Logger logger = LoggerFactory.getLogger(LogConfigTest.class) ;
public static void main(String[] args) {
int x = 0;
try {
int y = 10/x;
} catch (Exception e) {
logger.debug("xxxxxxxxxxxxxxxx");
logger.error(e.toString());
}
}
}
那么,生成的日志文件就在工程所在目录的盘符下,比如,工程log-test所在盘符为F盘,那么,在采用如上配置得情况下生成的日志文件就在 F:\logs\ 目录下。 另外,本地测试这种方式如果使用的是log4j2-spring.xml配置文件则无法生成日志文件!所以,要使用log4j2.xml配置文件。