0

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?

맛동산
  • 1
  • 2
  • Note that the top answer in the duplink explains how to >>debug<< problems during log4j initialization. – Stephen C Sep 21 '22 at 08:11

0 Answers0