Java 如何在tomcat8中为log4j2相对设置日志文件夹?

Java 如何在tomcat8中为log4j2相对设置日志文件夹?,java,log4j2,tomcat8,Java,Log4j2,Tomcat8,我正在tomcat8服务器中运行spring boot*.war应用程序 我在log4j2.xml中配置了以下日志路径: <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <RollingRandomAccessFile name="APP" fileName="logs/myapplication.log"

我正在
tomcat8
服务器中运行
spring boot
*.war
应用程序

我在
log4j2.xml
中配置了以下日志路径:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
  <RollingRandomAccessFile name="APP" fileName="logs/myapplication.log"
                                 filePattern="logs/archive/myapplication-%d{yyyy-MM-dd}.log">

结果: 我可以在
/var/log/tomcat8/
中看到
myapplication.log
,但是没有子文件夹
/logs

问题:当我配置此路径时,我希望日志被放置在
/var/log/tomcat8/logs
下。但事实并非如此。此外,内部也没有
/archive
文件夹,因此滚动文件也不起作用

但是为什么呢?可能遗漏了什么


在linux ubuntu 16上运行。

是否可能先前尝试的
myapplication.log
已经存在,而整个
logs
文件夹也不会生成?或者您是否在此
.log
文件中看到任何新的更改?是的,我看到了更改。奇怪的是,即使我配置了子文件夹
/logs/
,它仍会进入日志文件夹的根目录。我是否必须在配置中使用pathvariable
${catalina.base}
或类似的工具?您的
log4j2.xml
是否在类路径中?从:
Log4j如果找不到配置文件,将提供默认配置。将设置DefaultConfiguration类中提供的默认配置:连接到根记录器的ConsolePender。将PatternLayout设置为模式“%d{HH:mm:ss.SSS}[%t]-5级别%logger{36}-%msg%n”并附加到ConsolePender
的PatternLayout似乎表明,如果配置文件配置不正确,将创建一个默认记录器,该记录器在根目录(源代码:)中输出总之,我有3个不同的附件,我可以看到这3个日志文件记录了正确的内容。因此,我假设总体上正确地选择了配置。只是路没有走。