问题描述
Springboot整合log4j2时,需要将日志按照相对路径保存到文件。为了解决这个问题,查了很多博客和log4j2官网
,总结了下,找到两种比较可用的解决方案。 (本人使用jar打包发布,所以强烈推荐第二种,简单方便好用。)
Lookups
-
使用log4j2官方提供的lookups,可以在xml配置文件中提供变量,从而动态配置保存目录。
<Appenders> <File name="ApplicationLog" fileName="${web:rootDir}/app.log"/> </Appenders>
-
其中${web:rootDir}表示web项目根目录。下表为文档提供的几个变量。
直接写文件夹名
rt(如图)所示:
如图所示,直接写项目根目录下的文件夹名即可,log4j2在识别不到绝对路径时,会自动寻找项目根目录下的相对路径。亲测未打包mvn运行,jar包在win和linux环境都可以完美运行。