【发布时间】:2014-08-31 23:04:48
【问题描述】:
我正在尝试使用 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>
我的依赖:
<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.
有人可以帮忙吗? 谢谢
【问题讨论】:
-
检查日志文件的位置/权限。可能你没有添加写权限让tomcat修改。
-
并在绝对路径中给出日志文件,以便您知道必须写入的位置。
-
我给出了绝对路径,但没有运气,虽然它是独立工作的......
-
检查 Tomcat 日志级别。如果您有访问权限,请将 Tomcat 日志级别提高到 ALL,重新启动服务器并在尝试启动应用程序日志记录时检查 Tomcat 日志输出是否有错误。
标签: java spring tomcat logging slf4j