Cof*_*fee 9 configuration log4j log4
我知道这可能是一个新手问题,但我在设置Log4J时遇到问题:
我想运行一个log4j演示,这是我的代码:
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
public class HelloLOG4j {
private static final Logger logger = Logger.getLogger(Hello.class);
public static void main(String argv[]) {
BasicConfigurator.configure();
logger.debug("Hello world.");
logger.info("What a beatiful day.");
}
}
Run Code Online (Sandbox Code Playgroud)
我在System和User var中设置了我的Classpath:C:\ Users\Adel\Downloads\apache-log4j-1.2.17\log4j-1.2.17.jar

但是当我运行我的程序时,我仍然会得到
errors found:
File: C:\Users\Adel\Desktop\various_topics\JavaProjects\HelloLOG4j.java [line: 2]
Error: package org.apache.log4j does not exist
Run Code Online (Sandbox Code Playgroud)
我知道我设置了classpath - 如果我运行cmd行:
C:\Program Files\Java\jdk1.6.0_20>print %LOG4J_HOME%
C:\Users\Adel\Downloads\apache-log4j-1.2.17\log4j-1.2.17.jar is currently bein
g printed
Run Code Online (Sandbox Code Playgroud)
您需要将 log4j home 添加到类路径中,因为 JVM 需要 log4j 类的路径
如果在 Windows 上,您可以使用
set classpath=%classpath%;%LOG4J_HOME%
Run Code Online (Sandbox Code Playgroud)
在 linux/ ubuntu 上(在开发和服务器方面比 Windows 好得多)
export classpath=$classpath:$LOG4J_HOME
Run Code Online (Sandbox Code Playgroud)
然后在将其他路径添加到类路径后运行您的应用程序,例如
set classpath=%classpath%;c:\users\adel\....
Run Code Online (Sandbox Code Playgroud)
您不需要再次添加 log4JHOME - 因为%classpath%;它将添加到当前的类路径中。
Java 不知道 LOG4J_HOME。它仅在自动配置/默认配置的情况下由 log4j 使用。
附带说明一下,尝试使用新的 log4j2 !
| 归档时间: |
|
| 查看次数: |
21414 次 |
| 最近记录: |