1
我目前正在努力使用log4j進行日誌記錄。我創建了一個XML配置文件,併成功登錄我的主類:Log4j只在主類中登錄。我做錯了什麼?
的log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="LogAppender" class="org.apache.log4j.FileAppender">
<param name="file" value="logs/somelogfile.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
</appender>
<root>
<priority value="ERROR" />
<appender-ref ref="LogAppender" />
</root>
</log4j:configuration>
我的主類:
public class Main {
static Logger logger = Logger.getLogger(Main.class);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DOMConfigurator.configure("config/log4j.xml");
logger.error("Hi");
}
}
不幸的是,在其他班級日誌(在另一個包)不工作。無論我是否調用DOMConfigurator,都沒有記錄。我在這裏錯過了什麼?
對不起,我轉儲:
EDIT(記錄器總是與Logger.getLogger(Classname.class)創建的)!它正在工作。剛剛認識到,我在其他班級中發現了一個錯誤的例外,因此記錄器從未被調用過。
只需確認...您是否在DomConfigurator類中創建了一個記錄器?那裏使用的日誌記錄級別是什麼? – 2011-03-07 19:33:12
我沒有做任何事情,除了寫我的問題中顯示的代碼。 – 2011-03-07 19:44:36
我在代碼中看不到任何問題。看着你的配置文件,它可能是配置爲ERROR的記錄器級別。所以INFO和DEBUG語句可能不會被記錄。 嘗試將記錄器級別更改爲DEBUG以獲取所有INFO,DEBUG,ERROR級別 – kadalamittai 2011-03-07 19:47:34