0

我在我的 Maven(版本 3.1.0)项目中遇到了一个奇怪的编译错误。我在我的 POM 中添加了以下依赖项:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

当我使用以下代码时,出现The method trace(String) is undefined for type Logger错误。

import org.apache.log4j.Logger;
...
private static Logger logger = Logger.getLogger(Main.class);
...
logger.trace("message to be traced");

但是,如果我使用例如调试而不是跟踪,则代码编译得很好。

可能有什么问题?

如果我遗漏了一些重要信息,请随时在评论中询问。我会立即添加它们。


当我运行建议的mvn dependency:tree命令时,我得到以下输出。

biz.jezek:inscsdbdt:jar:1.0
+- com.sun.xml.ws:jaxws-rt:jar:2.1.3:compile
|  +- javax.xml.ws:jaxws-api:jar:2.1:compile
|  |  \- javax.xml.bind:jaxb-api:jar:2.1:compile
|  +- com.sun.xml.bind:jaxb-impl:jar:2.1.6:compile
|  +- com.sun.xml.messaging.saaj:saaj-impl:jar:1.3:compile
|  |  \- javax.xml.soap:saaj-api:jar:1.3:compile
|  +- com.sun.xml.stream.buffer:streambuffer:jar:0.7:compile
|  |  \- javax.activation:activation:jar:1.1:compile
|  +- com.sun.xml.stream:sjsxp:jar:1.0:compile
|  |  \- javax.xml.stream:stax-api:jar:1.0:compile
|  +- org.jvnet.staxex:stax-ex:jar:1.2:compile
|  +- com.sun.org.apache.xml.internal:resolver:jar:20050927:compile
|  \- org.jvnet:mimepull:jar:1.1:compile
+- log4j:log4j:jar:1.2.17:compile
+- biz.jezek:jdt:jar:1.0:compile
+- biz.jezek:utils:jar:1.0-SNAPSHOT:compile
|  +- biz.jezek:dmsclient:jar:10.0.1:compile
|  \- biz.jezek:umsjavaclient:jar:10.0.1:compile
+- com.microsoft:sqljdbc:jar:4:compile
+- commons-lang:commons-lang:jar:2.6:compile
+- org.aspectj:aspectjrt:jar:1.6.7:compile
+- junit:junit:jar:4.8.2:test (scope not updated to compile)
\- org.mockito:mockito-all:jar:1.8.4:test
4

1 回答 1

0

检查您的记录器上的 isTraceEnabled()。这可以让您查看是否已启用

log4j.rootLogger=TRACE

请参阅Log4j | 更新 Appender 的日志级别

于 2013-07-23T18:58:32.723 回答