簡體   English   中英

log4j2不適用於tomcat

[英]log4j2 does not work with tomcat

我有一個部署到Tomcat服務器的Web應用程序。 它必須將某些內容記錄到文件中。 當我在獨立應用程序中執行相同操作時,它可以工作(日志記錄到文件,控制台,等等),但是Tomcat沒有任何反應。

這是我的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
    <Properties>
        <Property name="log-path">D:/tmp/logs/</Property>
    </Properties>
    <Appenders>
        <RollingFile name="RollingFile" fileName="${log-path}/myexample.log"
                     filePattern="${log-path}/myexample-%d{yyyy-MM-dd}-%i.log" >
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss}- [%c{1}]: %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="1 KB" />
            </Policies>
            <DefaultRolloverStrategy max="4"/>
        </RollingFile>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="root" level="debug" additivity="false">
            <appender-ref ref="RollingFile" level="info"/>
            <appender-ref ref="Console" level="info"/>
        </Logger>
        <Root level="info" additivity="false">
            <AppenderRef ref="RollingFile"/>
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

在我的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">


        <context-param>
            <param-name>log4jConfiguration</param-name>
            <param-value>D:\Utils\Apache\Tomcat\webapps\synchronize\WEB-INF/log4j2.xml</param-value>
        </context-param>

        <servlet>
            <servlet-name>SynchServlet</servlet-name>
            <servlet-class>ds.synch.SynchServlet</servlet-class>
        </servlet>

        <servlet-mapping>
            <servlet-name>SynchServlet</servlet-name>
            <url-pattern>/synch</url-pattern>
        </servlet-mapping>

</web-app>

我還嘗試將log4j2.xml配置文件放入Tomcat的classes目錄中-仍然沒有輸出到Tomcat的文件或stdout文件。

任何幫助,將不勝感激。

我發現我錯了,這很愚蠢,我忘了將log4j-web添加到tomcat的類路徑中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM