Exception in thread "Timer-21" java.lang.NullPointerException
        at com.daily.report.tools.Log.logInfo(Log.java:14)
        at com.daily.report.tools.DailyTask.run(DailyTask.java:19)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)第一行是log4j记录日志程序如下import org.apache.log4j.Logger;public class Log { static Logger log = Logger.getLogger(Log.class.getName()); public static void logDebug(String message) {
log.debug(message);
} public static void logInfo(String message) {
log.info(message);
} public static void error(String message) {
log.error(message);
}}
tomcat 部署的web程序

解决方案 »

  1.   

    没看出明显问题,在static Logger log = Logger.getLogger(Log.class.getName());
    前面加上final或者volatile试试还有没有这个问题
      

  2.   

    按照stackTrace,出现nullpointer只可能是这一句:log.info(message);调用之前先打印下log确认log不为null
      

  3.   

    另外还有一点,logInfo的参数是怎么传的,也需要瞅瞅
      

  4.   

    调用是这样的。参数就一个字符串,不会有问题吧public class DailyTask extends TimerTask { @Override
    public void run() { Log.logInfo("task begin..."); //这里添加每日执行的任务
    DataCllection.task(); Log.logInfo("task end..."); }
    }
      

  5.   

    static Logger log = Logger.getLogger(Log.class.getName());
    是logFactory.get啊 。。
      

  6.   

    为什么log会是null呢?是timer时间太长了?1天的时间太长,log对象被清理了?