我正在嘗試使用以下方式在我的Java EE應用程序中使用log4j進行日誌記錄,其中我已在應用程序中定義了一個log4j.xml。在Java EE應用程序中找不到Log4j.xml拋出文件
我試圖用
DOMConfigurator.configure("src/log4j.xml");
logger.warn("Login Process has started a warning message");
訪問它,但它不斷拋出下面的錯誤
**編輯的錯誤信息
log4j:ERROR Could not parse file [src/log4j.xml].
java.io.FileNotFoundException: D:\src\log4j.xml (The system cannot find the path s pecified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)
at org.apache.log4j.xml.DOMConfigurator$1.parse(DOMConfigurator.java:749)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:866)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:755)
當我提供了絕對路徑一切工作。
那麼最新的方法呢?我使用1.2.16.jar版本的log4j
的,我得到下面的每個i構建應用程序
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
編輯前警告: 應用struture
Myapp
src
conf
target
和我的地點理想的log4j .xml文件夾下src
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="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<appender name="Log" class="org.apache.log4j.FileAppender">
<param name="File" value="Web.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %-5p %-15c{1}: %m%n" />
</layout>
</appender>
<logger name="com.web" additivity="false">
<level value="info" />
<appender-ref ref="Log" />
</logger>
</log4j:configuration>
謝謝
哪裏的log4j文件位於您的應用程序? – cowls
下的文件夾名爲src – Sam
Prabhat目前接受的答案是一個WTF。將有效的log4j.xml文件的擴展名重命名爲錯誤的?它真的*解決了具體的問題嗎?回答者顯然不知道可以通過XML而不是按屬性來配置log4j。 – BalusC