我在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
答案 0 :(得分:0)
在记录器上检查isTraceEnabled()。这可能允许您查看是否已启用
log4j.rootLogger=TRACE