Log4J的未定义跟踪方法

时间:2013-07-23 18:24:55

标签: java maven log4j

我在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

1 个答案:

答案 0 :(得分:0)

在记录器上检查isTraceEnabled()。这可能允许您查看是否已启用

log4j.rootLogger=TRACE

另见Log4j | Updating the Log Level for the Appender