0
我想在一個簡單的Java項目中設置log4j。運行我的項目時,我不斷收到以下消息。類路徑上的log4j.xml文件,但不能被log4j檢測到
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
但是我已經將log4j.xml添加到我的類路徑中。比如我在我的主要方法,這樣做:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.InputStream;
import java.io.StringWriter;
import java.net.URL;
import java.net.URLClassLoader;
public class main {
private static Logger logger = LogManager.getLogger("Test");
static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
return s.hasNext() ? s.next() : "";
}
public static void main(String [] args) {
InputStream cl = ClassLoader.getSystemClassLoader().getResourceAsStream("log4j.xml");
System.out.println(convertStreamToString(cl));
}
}
當我執行這個代碼,我得到我的log4j.xml文件的內容,這將使它似乎是被裝載到我的類路徑的文件正確?
這裏是我的xml文件的內容:什麼我做錯了
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.foo.Bar" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
任何想法?