Mic*_*ael 2 java eclipse logging log4j
我有一个非常简单的应用程序,说明了日志记录的功能.我用log4j.但我的设置有些问题.我下载了log4j-1.2.16.jar文件.并将其连接到我的项目属性- > Java构建路径- >库- >添加外部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!");
}
}
Run Code Online (Sandbox Code Playgroud)
我的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>
Run Code Online (Sandbox Code Playgroud)
我的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
Run Code Online (Sandbox Code Playgroud)
在控制台中显示以下异常:
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.
Run Code Online (Sandbox Code Playgroud)
我不知道我应该如何创建和连接其他支持文件,例如log4j.xml和log4j.properties.并确定他们是否需要?他们应该在哪个目录中找到?我还应该注册什么?这是我的项目结构
屏幕http://s017.radikal.ru/i433/1202/81/b2739aedc39d.jpg.
我猜这个错误.我的问题是什么?请帮帮我!
要解决您的问题,请将您的log4j配置文件(即log4j.xml或log4j.properties)放在src文件夹中,它应该可以正常工作.
此外,您不需要两个文件(log4j.xml和log4j.properties),只需使用其中一个.
问题是记录器系统找不到您的配置文件.要解决它,你有几个选择:
如果您需要将logger配置保留在打包类之外(通常在实际生产系统中执行),那么
/etc/my_great_app/log4j.xml)
-Dlog4j.configuration=<path log4j config>
例如
-Dlog4j.configuration=file:///etc/my_great_app/log4j.xml
注意路径必须包含前缀file://.如果您希望将log4j配置与代码一起(这是单元测试的典型配置),那么您需要做的就是 - 只需确保log4配置位置是类路径的一部分.例如,如果您正在使用maven,只需存储您log4j.properties的src/main/resources目录
关于log4j.propertiesvs 之间的区别log4j.xml.它们只是为log4j logger定义相同配置的两种不同方式.你不需要这两个文件,只需要决定你喜欢的格式并使用它:)
| 归档时间: |
|
| 查看次数: |
18620 次 |
| 最近记录: |