在Java EE应用程序中找不到Log4j.xml抛出文件 [英] Log4j.xml throw file not found in Java EE application

查看:151
本文介绍了在Java EE应用程序中找不到Log4j.xml抛出文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过以下方式在Java EE应用程序中使用log4j进行记录,其中我已在应用程序中定义了log4j.xml.

I am trying to log using log4j in my Java EE application in the following way where i have defined a log4j.xml in the application.

我正在尝试使用

   DOMConfigurator.configure( "src/log4j.xml");
   logger.warn( "Login Process has started a warning message" );

但是它总是抛出以下错误

but it keeps throwing the following error

**编辑的错误消息

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)

当我提供绝对路径时,一切正常.

When i provided the absolute path everything is working .

那么实现这一目标的方法是什么?我正在使用log4j的1.2.16.jar版本

So whats the way to achieve this? I am using 1.2.16.jar version of log4j

每次构建应用程序时,我都会收到以下警告

and i get following warning each time i build the app

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.

应用结构

Myapp
  src
  conf
  target

我已经将src文件夹下的log4j.xml放在了

and i have palced log4j.xml under folder src

log4j.xml文件

log4j.xml file

<?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>

谢谢

推荐答案

最好将其放在src/main/resources文件夹中.

Better put it inside src/main/resources folder.

您还可以根据文件格式将其重命名为log4j.properties.
并且您应该具有log4j.jar,或者如果您正在使用maven,则将依赖项添加到pom.xml文件.

You can also rename it to log4j.properties, depending on your file format.
And you should have either log4j.jar, or if you are using maven add dependencies to pom.xml file.

这篇关于在Java EE应用程序中找不到Log4j.xml抛出文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆