【发布时间】:2015-01-15 02:31:41
【问题描述】:
我目前正在为一个学校项目开发一个网站,但遇到了有关日志记录的问题。我想使用 logback 记录我的东西。但是,我的 Wildfly 服务器无法识别我的 logback 配置文件 (logback.xml)。
Logback.xml放在
src/main/resources/logback.xml
我的 logback.xml 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
<file>myLogFile.log</file>
<append>true</append>
<encoder>
<pattern>%d [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="TRACE">
<appender-ref ref="fileAppender" />
</root>
</configuration>
我的 pom.xml 看起来像这样:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.7</version>
</dependency>
写日志时我这样做:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyClass {
private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
public void someMethod(){
logger.debug("Dummy debug message.");
logger.info("Dummmy info message.");
logger.warn("Dummy warning message.");
logger.error("Dummy error message.");
}
}
你应该会认为你会得到一个输入类似于这样的文件:
2014-11-18 02:10:13,295 [main] DEBUG com.example.package.ClassName - Dummy debug message.
2014-11-18 02:10:13,295 [main] INFO com.example.package.ClassName - Dummy info message.
2014-11-18 02:10:13,296 [main] WARN com.example.package.ClassName - Dummy warning message.
2014-11-18 02:10:13,296 [main] ERROR com.example.package.ClassName - Dummy error message.
我没有。相反,我在终端中得到以下信息:
[0m02:22:49,489 INFO [com.example.package.MyClass] (default task-4) Dummy info message.
[0m[33m02:22:49,489 WARN [com.example.package.MyClass] (default task-4) Dummy warning message.
[0m[31m02:22:49,490 ERROR [com.example.package.MyClass] (default task-4) Dummy error message.
这也存储在以下位置的服务器日志中:
/wildfly-8.1.0.Final/standalone/log/server.log
我还确定我的 logback.xml 包含在类路径中。它在这里找到:
/target/classes/logback.xml
在我的服务器上创建和部署一个 .war 之后,应该期望我的配置文件用于 logback;但事实并非如此。而是它正在使用的默认 wildfly-logger-format(或默认 logback?无论哪种方式;不是我的配置),并且没有创建文件。
我什至可以删除我的 logback.xml,实际上没有区别。我一生都无法弄清楚这里出了什么问题。为什么wildfly不使用类路径中指定的logback.xml?任何帮助将不胜感激!
【问题讨论】:
标签: jakarta-ee jboss logback wildfly wildfly-8