JAVA客户端程序在Spring中配置Log4j的简单说明

我想你的java客户端首先有个main函数,像这样

public static Log logger=LogFactory.getLog(Program.class); 
public static void main(String[] args) {
	ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
	logger.info("load log4j ok!");
}

执行会出现如下异常,并且没有打印日志

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.

解决方法:

方法1(推荐):修改main函数,在载入Spring上下文之前,载入log4j

public static Log logger=LogFactory.getLog(Program.class); 
public static void main(String[] args) {
	DOMConfigurator.configure(Program.class.getResource("/log4j.xml"));//从class路径加载
	ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
	logger.info("load log4j ok!");
}

同时可以打印Spring的日志和自己的日志。


方法2:在Spring配置文件中配置Bean

<bean id="log4jInitialization"  
		class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">  
       <property name="targetClass"  
          value="org.springframework.util.Log4jConfigurer" />  
       <property name="targetMethod" value="initLogging" />  
       <property name="arguments">  
          <list>  
             <value>classpath:log4j.xml</value>  
          </list>  
       </property>  
    </bean>  
可以打印log4j的日志,但因为首次加载时没有找到log4j的路径,因此之前也会出现警告:

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.

2013-04-26 11:05:52,593 INFO  [main] ui.Program (Program.java:18) - load log4j ok!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘少博

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值