我试图用我的Java讲师给出的少量指令来理解log4j。这是我所做的。
1)创建一个Java项目并在main方法中添加一些代码。
2)添加了外部jar(log4j-core-2.11.1.jar和log4j-api-2.11.1.jar
3)添加了导入:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
4)在我的主类中添加了以下内容
private static final Logger logger = LogManager.getLogger();
这就是我被困住的地方。
我得到的异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at com.test.JavaProgram.<clinit>(JavaProgram.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
..
5)我在文档中的讲师也提到要添加以下内容作为VM参数的一部分,而我做到了。
-Dlog4j.configurationFile=./conf/log4j-console-config.xml
目前,我没有时间了解Log4j或Eclipse。我在这里做什么错了?
编辑:当我以“作为Java应用程序运行”程序运行时,会弹出一个窗口(“选择Java应用程序”),并要求我输入“选择类型(?=任何字符...): 当我单击确定时,将显示以下内容:
Usage: java
org.apache.logging.log4j.core.tools.Generate$CustomLogger className LEVEL1=intLevel1
Where className is the fully qualified class name of the custom/extended logger
to generate, followed by a space-separated list of custom log levels.
For each custom log level, specify NAME=intLevel (without spaces).
我知道Maven更简单,但是我不得不使用它!
答案 0 :(得分:0)
您为什么不能使用这些简单步骤。只需将log4j作为依赖项添加到Pom.xml中即可。 https://www.javatpoint.com/log4j-maven