eclipse中log4j无法输出到控制台

Log4j折腾了半天就是无法输出到控制台。log4j.properties文件也到处放了,还是会产生please initialize the log4j system properly的错误。

于是决定在代码中配置一个简单的stdLogger,实现了基本的Log功能。

import org.apache.log4j.*;

public class Log {
	public static Logger stdLogger=null;	
	static{
		stdLogger=Logger.getLogger("stdout");
		ConsoleAppender ca=new ConsoleAppender(
				new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN),
				"System.out");
		stdLogger.addAppender(ca);
	}
}
值得注意的是,在new ConsoleAppender的时候必须要有参数,要指定PatternLayout参数,否则就会报错:

ERROR No output stream or file set for the appender named [null].

原因是无参数的构造函数实际没有进行任何初始化操作。

这是ConsoleAppender的源码:

   45     /**
   46       * Constructs an unconfigured appender.
   47       */
   48     public Con
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个警告信息表示在Eclipse找不到适合的附加器(appenders)用于记录日志的logger(org.apache)。 在Eclipselog4j是一个用于记录日志的开源库。它使用logger对象来捕获应用程序发生的事件,并将它们记录在指定的地方。附加器(appenders)负责处理这些日志事件,将它们发送到指定的目标,如控制台、文件或数据库。 在出现这个警告信息时,说明我们的程序代码没有配置正确的附加器(appenders)来处理日志事件,并将其记录到适当的目标上。 要解决这个问题,我们需要在程序代码正确配置log4j的附加器(appenders)。我们可以通过创建一个log4j.properties或log4j.xml配置文件来指定附加器和目标的相关信息。然后,在程序代码加载这个配置文件,确保log4j可以正确地找到并使用这些附加器。 我们可以在配置文件指定要使用的附加器类型(如ConsoleAppenderFileAppender等),并设置适当的属性,如文件路径、日志级别等。这样,log4j就会使用这些配置信息来初始化并创建相应的附加器,并将日志事件发送到指定的目标上。 通过正确配置log4j的附加器,我们可以有效地记录程序的日志,并方便地进行调试和错误追踪。 ### 回答2: .log4j)这个警告是由于在你的应用程序没有配置 log4j 日志记录器的输出地点。log4j 是一个 Java 应用程序的日志记录工具,它允许你灵活地控制日志的输出方式。 当你在使用 log4j 的时候,你需要在你的应用程序配置这个日志记录器。配置包括指定输出信息的格式和输出地点。如果你没有正确配置 log4j,它将无法找到日志输出地点,从而触发这个警告。 要解决这个问题,你需要检查你的项目log4j 配置文件。通常,这个文件命名为 log4j.properties 或 log4j.xml。确保这个文件位于你的应用程序的类路径下,并且正确配置了输出地点。你可以在文件使用不同的 appender 元素来配置日志的输出地点,例如文件 appender控制台 appender 或者数据库 appender。 例如,如果你想要将日志输出到一个文件,你可以在配置文件添加以下内容: log4j.appender.File=org.apache.log4j.FileAppender log4j.appender.File.File=/path/to/your/logfile.log log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c{1} - %m%n 这样,log4j 将会将日志信息输出到指定的文件。 总结来说,log4j:warn no appenders could be found for logger (org.apache.log4j) 的警告是由于缺少正确配置的 log4j 输出地点所致。你需要检查你的 log4j 配置文件,并确保正确配置了输出地点才能解决这个问题。 ### 回答3: log4j:warn no appenders could be found for logger (org.apache) 这个错误信息表示log4jEclipse找不到适当的appender来处理日志消息。 Log4j是一个Java日志实用工具,它允许我们在应用程序灵活地控制日志记录。一个appender是用来定义日志输出的目标,例如控制台、文件或数据库。当log4j无法找到合适的appender时,就会出现上述警告信息。 要解决这个问题,我们需要检查并确保以下几点: 1. 确认log4j配置文件存在:在Eclipse项目的src/main/resources目录下,通常会有一个log4j.properties或log4j.xml文件,它用于指定日志记录的配置。如果该文件不存在,或命名不正确,log4j无法找到appender。 2. 检查配置文件appender定义:在log4j配置文件,我们应该检查是否有定义至少一个appender,并且每个appender都有一个唯一的名称和正确的配置参数。例如,如果我们要将日志输出到一个文本文件,我们需要定义一个FileAppender,并设置正确的文件路径、编码等参数。 3. 确认日志记录器(logger)配置正确:log4j使用logger来控制不同类或包的日志记录级别和appender。在配置文件,我们需要为相关的logger设置正确的级别和关联的appender。如果logger的日志级别设置过高,例如设置为ERROR而非DEBUG,那么更低级别的日志信息将被忽略。 4. 导入正确的log4j库:在Eclipse项目的构建路径,确保正确导入了log4j的jar文件,这样才能使用log4j的功能。 通过检查以上几点,我们应该能够解决log4j:warn no appenders could be found for logger (org.apache)这个错误,并确保在Eclipse正确记录和处理日志消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值