为什么我的 Log4j 代码在这里不起作用



我在运行 log4j 代码时遇到问题,我认为这是一个配置问题; 这是我运行它的方式:

C:UsersAdelJavaCoding>javac -cp  C:apache_log4j_beta5apache-log4j-2.0-beta5
-binlog4j-api-2.0-beta5.jar;C:apache_log4j_beta5apache-log4j-2.0-beta5-binlog4j-core-2.0-beta5.jar;. HelloWorldLog4J.java

但是我收到此错误:

C:\Users\Adel\JavaCoding>java HelloWorldLog4J 线程中的异常 "main" java.lang.NoClassDefFoundError: org/apache/logging/lo g4j/日志管理器 在HelloWorldLog4J。(HelloWorldLog4J.java:11)原因:java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager

    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

C:\Users\Adel\JavaCoding>

正如用户ipohfly(谢谢!!)所说,我必须将java命令与-cp参数一起使用,如下所示:

C:UsersAdelJavaCoding>java -cp  C:apache_log4j_beta5apache-log4j-2.0-beta5-
binlog4j-api-2.0-beta5.jar;C:apache_log4j_beta5apache-log4j-2.0-beta5-binlog
4j-core-2.0-beta5.jar;. HelloWorldLog4J

这产生了所需的输出:

pre_loggerDOTinfo

22:51:33.973 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 22:51:33.997 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 另外,#2

22:51:33.997 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 另外,#3

22:51:33.997 [主要] 致命 你好世界 - 你好,这是一个致命的 消息 另外,#4

post_loggerDOTinfo

C:\Users\Adel\JavaCoding>

最新更新