eclipse中log4j无法输出到控制台

博客讲述了作者在Eclipse中遇到Log4j无法输出到控制台的困扰,尝试多种方法无效后,决定通过代码中配置stdLogger来实现日志功能。问题源于ConsoleAppender无参数构造函数未初始化,需传入参数以正确配置。同时,为实现格式化输出,作者还提出了对输出函数的包装方法。
摘要由CSDN通过智能技术生成

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值