Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat和SLF4J-未将日志写入文件_Java_Spring_Tomcat_Logging_Slf4j - Fatal编程技术网

Java Tomcat和SLF4J-未将日志写入文件

Java Tomcat和SLF4J-未将日志写入文件,java,spring,tomcat,logging,slf4j,Java,Spring,Tomcat,Logging,Slf4j,我正在尝试使用slf4j-log4j12为我的应用程序实现日志跟踪。我已经配置好了所有东西,在独立模式下测试时,它工作得很好。现在我已经在tomcat中部署了它,它停止工作了!它只是在控制台中打印日志(甚至是我用slf4j创建的日志),而不是在文件中 这是我的log4j.xml: <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="fileAppende

我正在尝试使用slf4j-log4j12为我的应用程序实现日志跟踪。我已经配置好了所有东西,在独立模式下测试时,它工作得很好。现在我已经在tomcat中部署了它,它停止工作了!它只是在控制台中打印日志(甚至是我用slf4j创建的日志),而不是在文件中

这是我的log4j.xml:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="Threshold" value="INFO" />
        <param name="File" value="assp.log" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d  %-5p  [%c{1}] %m %n" />
        </layout>
    </appender>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %c{1} - %m%n" />
        </layout>
    </appender>

    <root>
        <priority value="debug" />
        <appender-ref ref="fileAppender" />
        <appender-ref ref="console" />
    </root>
</log4j:configuration>
输出(在控制台中):

有人能帮忙吗?
谢谢

过了一会儿,我解决了这个问题。我遵循apache文档


希望这能帮助我遇到同样问题的人。

检查日志文件的位置/权限。可能您没有添加写入权限以允许tomcat对其进行修改。请以绝对路径提供日志文件,以便您知道必须将其写入的位置。我提供了绝对路径,尽管它在独立模式下工作,但运气不佳…请检查tomcat日志级别。如果您有访问权限,将Tomcat日志级别提升到所有级别,重新启动服务器,并在Tomcat日志输出尝试启动应用程序日志记录时检查是否有错误。
<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
private Logger LOGGER = LoggerFactory.getLogger(Test.class);
@RequestMapping("*")
public String root(RedirectAttributes redirectAttributes){
    LOGGER.info("{} - entering root page. Redirecting to index.", System.currentTimeMillis());
    return "redirect:/index";
}
INFO 1404999952210 - entering root page. Redirecting to index.