1
我正在嘗試使用slf4j-log4j12爲我的應用程序實現日誌記錄。我配置了一切,並且它在我以獨立模式測試時運行良好。現在我已經在tomcat中部署了它,它停止了工作!它只是在控制檯中打印日誌(甚至是我用slf4j創建的日誌),但不是在文件中!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修改它。 – khakiout
並以絕對路徑給出日誌文件,以便您知道必須寫入的位置。 –
我給了絕對路徑,沒有運氣,雖然它在獨立工作... – Snox