The log4j setting does not work. I don't know why.
The current tomcat war structure is as follows:
drwxr-x--- 6 root root 4096 2022-09-21 10:32 ROOT
-rw-r----- 1 root root 221852486 2022-09-21 10:30 admin
drwxr-x--- 6 root root 4096 2022-09-21 12:12 api
-rw-r----- 1 root root 125701373 2022-09-21 12:11 ROOT.war
drwxr-x--- 4 root root 4096 2022-09-21 10:32 admin.war
-rw-r----- 1 root root 38811606 2022-09-21 10:31 api.war
The log4j setting information is as follows:
web.xml
<listener>
<listener class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jExposeWebAppRoot</param-name>
<param-value>api.root</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>300000</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/config/log/log4j.xml</param-value>
</context-param>
log4j.xml
<logger name="jdbc.sqlonly">
<level value="info" />
<appender-ref ref="console" />
</logger>
<logger name="jdbc.connection">
<level value="off" />
<appender-ref ref="console" />
</logger>
<logger name="jdbc.sqltiming">
<level value="off" />
<appender-ref ref="console" />
</logger>
<logger name="jdbc.resultsettable">
<level value="info" />
<appender-ref ref="console" />
</logger>
<logger name="jdbc.resultset">
<level value="off" />
<appender-ref ref="console" />
</logger>
<logger name="jdbc.audit">
<level value="off" />
<appender-ref ref="console" />
</logger>
No matter how hard I try, it just says I can't find the location. I think the war file located in Tomcat is the problem, is there any way to solve the problem?