我有一个非常简单的应用程序来说明日志记录的功能。我使用log4j。但是我在设置上遇到了一些麻烦。我下载了文件log4j-1.2.16.jar。通过**Properties -〉Java Build Path -〉Libraries -〉Add External JAR...**将其连接到我的项目。下面是我的类:
package ru.log4j.log4jhelloworld;
import org.apache.log4j.Logger;
public class MyClass {
private static final Logger logger = Logger.getLogger(MyClass.class);
public static void main(String[] args) {
logger.info("Hello World!");
}
}
我的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="aa %p %c: %m%n"/>
</layout>
</appender>
<!--Root logger-->
<root>
<priority value ="debug" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
还有我的log4j.properties:
log4j.rootCategory=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %p %c: %m%n
在控制台中显示这些异常:
log4j:WARN No appenders could be found for logger (ru.log4j.log4jhelloworld.MyClass).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我不知道我应该如何创建和连接其他支持文件,如log4j.xml和log4j.properties。并且确定它们是否需要?它们应该在什么目录下?我还应该注册什么?下面是我的项目结构
x1c 0d1x。
我猜这里面的错误。我的问题是什么?请帮帮我!
7条答案
按热度按时间iq0todco1#
要解决您的问题,请将您的log4j配置文件(即
log4j.xml
或log4j.properties
)放在src
文件夹中,它应该可以正常工作。此外,您不需要两个文件(
log4j.xml
和log4j.properties
),只需使用其中一个。smdnsysy2#
问题是记录器系统找不到您的配置文件。要解决此问题,您有以下几种选择:
/etc/my_great_app/log4j.xml
)-Dlog4j.configuration=<path log4j config>
,例如-Dlog4j.configuration=file:///etc/my_great_app/log4j.xml
。请注意,路径必须包含前缀file://
。关于
log4j.properties
和log4j.xml
之间的区别。它们只是两种不同的方式来定义log4j日志记录器的相同配置。你不需要两个文件,只要决定你更喜欢的格式并使用它:)wgx48brx3#
使用-Dlog4j.debug VM参数运行应用程序,系统将提示您log4j希望它位于的位置。
ycggw6v24#
log4j.properties 文件放在src文件夹中,文件如下所示
然后在www.example.com中设置属性配置器LogExample.java
和属性文件设置配置,如下面的log4j.properties
pes8fvy95#
我也遇到过类似的问题。我通过在RunAS--〉RunConfigurations--〉Arguments选项卡中放置以下行来解决这个问题
-Dcvp.property.path=/home/local/Project/property/
--〉属性文件位置谢谢你!
mwngjboj6#
您可以将
log4j.properties
文件保存在项目中的任何位置。然后加载您的文件这类似于在eclipse中设置VM参数,如
-Dlog4j.configurationFile= "C:\\Users\\jhaas\\Workspace_3.0.30\\RestClient\\src\\main\\resources\\log4j.properties"
个更好的方法是将其放在代码中,而不是设置到eclipse VM参数中。
dy2hfwbg7#
log4j.xml
或log4j.properties
文件应位于源文件夹src/main/resources
根目录下创建一个新的源文件夹
src/main/resources
,并将property
或xml
文件放在那里。