ログファイルを作成できません。私はWEB-INFフォルダ内のlog4j.xmlを作成しているlog4jを使用してログファイルを生成できません。すべてが保存されます。
web.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>log4j-config-location</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
</web-app>
。以下は
のlog4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{1}:%L %m %n" />
</layout>
</appender>
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="INFO" />
<param name="Threshold" value="debug" />
<param name="maxFileSize" value="20MB" />
<param name="maxBackupIndex" value="10" />
<param name="file" value="${catalina.home}/logs/myLog.log"/>
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %m %n" />
</layout>
</appender>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- Root Logger -->
<root>
<priority value="info"></priority>
<appender-ref ref="fileAppender" />
</root>
</log4j:configuration>
フォルダのプロジェクト構造である:
MyProject
src
web
WEB-INF
lib
web.xml,applicationContext.xml,log4j.xml,spring-config.xml...
任意の提案が参考になります。 WEB-INFフォルダ内にファイルがあり、上記のようにweb.xmlにマッピングを与えましたが、tomcatサーバーが起動してもmyLog.logファイルが作成されません。私は何かを追加する必要がありますか?私が気づいたのは、Log4jConfigListennerが償却されたクラスだということです。クラスパスにlog4j-1.2.17.jarファイルがあります。私は、srcフォルダにログファイルを保存したくない、私はそれがWEB-INFフォルダにあることを望む。
--edit-- web.xmlでリスナーの宣言の順序を変更しましたが、ログファイルは生成されません。
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
log4j起動時のデバッグ情報を有効にすることができるenv paramがあることを覚えています。あなたの診断に役立つかもしれません。 –
https://stackoverflow.com/questions/3752921/is-it-possible-to-make-log4j-display-which-file-it-used-to-configure-itselfまず、正しいファイルが読み込まれます。次に、ファイルの内容を確認してください。 –
@AdrianShum - 私の上記の投稿から欠落している要素/コードを教えてください。 – user8373379