log4j:WARN No appenders could be found for logger (org.quartz.simpl.SimpleThreadPool)

来源:互联网 发布:优行科技 知乎 编辑:程序博客网 时间:2024/06/09 16:16

问题描述:

使用Spring集成了Quartz实现定时任务,Tomcat使用startup运行,或者使用服务方式运行停止时,log4j的输出以下警告日志:

log4j:WARN No appenders could be found for logger (org.quartz.simpl.SimpleThreadPool).

log4j:WARN Please initialize the log4j system properly.

虽然对程序运行没有影响,但是总感觉有问题。

解决办法:

在web项目初始化时的类中执行一下PropertyConfigurator.configure(props);

 

其中props为系统读取.properties文件的实现类.

实现代码如下:

/**

 * 读取配置文件

 *

 * @author CharlieChen

 * @DateTime 2014-04-16上午9:12:44

 * @version 1.0

 */

public class ReadProperties extends   PropertyPlaceholderConfigurer {

 

   private static Map<String, Object> ctxPropertiesMap;

  

   public static Map<String, String> monitPaths;

 

   @Override

   protected void processProperties(

         ConfigurableListableBeanFactory beanFactoryToProcess,

         Properties props) throws BeansException {  

 

       //读取配置文件配置,没有下面一句,log4j日志出现警告

       PropertyConfigurator.configure(props);

     

      super.processProperties(beanFactoryToProcess, props);

      String prefix = "FFP.monitorPath";

      ctxPropertiesMap =new HashMap<String, Object>();

      monitPaths = new HashMap<String,String>();

      for (Object key : props.keySet()) {

         String keyStr = key.toString();

         String value = props.getProperty(keyStr);

         ctxPropertiesMap.put(keyStr, value);

         if(keyStr.startsWith(prefix)){

            monitPaths.put(keyStr, value);

         }

      }

      if(monitPaths.size() == 0){

         System.out.println("系统配置监控路径未正确配置!");

      }

   }

 

   public static Object getContextProperty(String name) {

      return ctxPropertiesMap.get(name);

   }

}

 

在spring-servlet.xml的配置如下:

    <beanid="baseDirConfig"class="com.abc.charlie.mvc.utils.ReadProperties">

       <propertyname="locations">

          <list>

           <value>/WEB-INF/config/configDir.properties</value>

           <value>/WEB-INF/config/jdbc-config.properties</value>

           <value>/WEB-INF/config/email-config.properties</value>

         </list>

      </property>

      <propertyname="fileEncoding"value="utf-8"/>

      <propertyname="ignoreResourceNotFound"value="true"/>

    </bean>

 

0 0