当前位置: 代码迷 >> Java相关 >> 帮忙看下这个log4j的有关问题,控制台有输出,但是日志文档没有输出来
  详细解决方案

帮忙看下这个log4j的有关问题,控制台有输出,但是日志文档没有输出来

热度:23   发布时间:2016-04-22 20:44:18.0
帮忙看下这个log4j的问题,控制台有输出,但是日志文档没有输出来


图片是控制台的输出,但是在日志文档中并没有输出来。下面是输出日志的方法,包
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URL;

public final class LogUtil{
private static Log loginfo = LogFactory.getLog("info"); 
public static void info(Object message){
try{
if(Logger.getRootLogger().getLevel().toString().toLowerCase().equals("debug") || Logger.getRootLogger().getLevel().toString().toLowerCase().equals("info")){
loginfo.info(message);
}
}catch (Exception e) {
e.printStackTrace();
}
}
}


下面是log4j的配置文件:
log4j.rootLogger=info,stdout,infofile
#log4j.rootLogger=debug,stdout,debugfile
#log4j.rootLogger=error,stdout,errorfile
#log4j.rootLogger=warn,stdout,warnfile

log4j.additivity.info = false
log4j.additivity.debug = false
log4j.additivity.error = false
log4j.additivity.warn = false
log4j.logger.info = info,infofile
log4j.logger.info = debug,debugfile
log4j.logger.info = error,errorfile
log4j.logger.info = warn,warnfile


log4j.ConversionPattern=[%p] %d{yyyy-MM-dd HH:mm:ss} [%t] %n%m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=${log4j.ConversionPattern}

log4j.appender.allfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.allfile.File=/logs/ck/ck_all.log
log4j.appender.allfile.DatePattern=yyyy-MM-dd'.log'
log4j.appender.allfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.allfile.layout.ConversionPattern= ${log4j.ConversionPattern}

log4j.appender.infofile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.infofile.File=/logs/ck/ck_info.log
log4j.appender.infofile.DatePattern=yyyy-MM-dd'.log'
log4j.appender.infofile.layout=org.apache.log4j.PatternLayout 
log4j.appender.infofile.layout.ConversionPattern= ${log4j.ConversionPattern}

log4j.appender.debugfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debugfile.File=/logs/ck/ck_debug.log
log4j.appender.debugfile.DatePattern=yyyy-MM-dd'.log' 
log4j.appender.debugfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.debugfile.layout.ConversionPattern= ${log4j.ConversionPattern}

log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorfile.File=/logs/ck/ck_error.log
log4j.appender.errorfile.DatePattern=yyyy-MM-dd'.log' 
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.errorfile.layout.ConversionPattern= ${log4j.ConversionPattern}

log4j.appender.warnfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warnfile.File=/logs/ck/ck_warn.log
log4j.appender.warnfile.DatePattern=yyyy-MM-dd'.log' 
log4j.appender.warnfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.warnfile.layout.ConversionPattern= ${log4j.ConversionPattern}

log4j.logger.java.sql.Connection=debug 
log4j.logger.java.sql.Statement=debug 
log4j.logger.java.sql.PreparedStatement=debug 
#log4j.logger.java.sql.ResultSet=debug
------解决思路----------------------
log4j.logger.info = info,infofile
log4j.logger.info = debug,debugfile
log4j.logger.info = error,errorfile
log4j.logger.info = warn,warnfile

这段改成:
log4j.logger.info = info,infofile
log4j.logger.debug = debug,debugfile
log4j.logger.error = error,errorfile
log4j.logger.warn = warn,warnfile

另外:
Logger.getRootLogger().getLevel().toString().toLowerCase().equals("debug") 
------解决思路----------------------
 Logger.getRootLogger().getLevel().toString().toLowerCase().equals("info")

改写成:
loginfo.isDebugEnabled()