log4j成功生成日志文件,但是没有任何信息?求解答?

潘深练GS 发布于 2013/02/04 21:49
阅读 6K+
收藏 0

log4j.properties :

###############################log4j.properties###############################
#####    Global Log Level(OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL)   #############
log4j.rootLogger=INFO,CONSOLE,FILE

#CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH🇲🇲ss S} - %m | %l%n

#FILE
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=E:\\mywork\\CFM_xfire\\src\\run.log
#log4j.appender.FILE.File=E:\\mywork\\CFM_xfire\\src\\run_
#log4j.appender.file.DatePattern=yyyy_MM_dd'.log'
log4j.appender.FILE.MaxBackupIndex=20
log4j.appender.FILE.MaxFileSize=20MB
log4j.appender.FILE.Append=true
log4j.appender.FILE.BufferSize=16384
log4j.appender.FILE.ImmediateFlush=false
log4j.appender.FILE.BufferedIO=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH🇲🇲ss.SSS} %t [%p] - %m        --> [%l]%n

测试类LogUtil

package util;

import org.apache.log4j.Logger;

public class LogUtil {
 
 public static Logger logger = Logger.getLogger(LogUtil.class.getName());
 
 public static void debug(String msg) {
  logger.debug(msg);
 }
 public static void info(String msg) {
  logger.info(msg);
 }
 public static void warn(String msg) {
  logger.warn(msg);
 }
 public static void error(String msg) {
  logger.error(msg);
 }
 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println("syso");
  LogUtil.debug("log4j is start .");
  LogUtil.info("log4j is start .");
  LogUtil.warn("log4j is start .");
  LogUtil.error("log4j is start .");
  System.out.println("syso");
 }
}

虽然在src下生成了run.log,但是里面没有任何输出信息?刚刚使用log4j,请高手指点一下,哪里错了,jar包已经引入!

PS: 在控制台能够输出日志信息!

syso
[INFO] 2013-02-04 13:49:06 799 - log4j is start . | util.LogUtil.info(LogUtil.java:13)
[WARN] 2013-02-04 13:49:06 803 - log4j is start . | util.LogUtil.warn(LogUtil.java:16)
[ERROR] 2013-02-04 13:49:06 807 - log4j is start . | util.LogUtil.error(LogUtil.java:19)
syso

 

加载中
0
技术宅
技术宅
log4j.appender.FILE.BufferSize=1k
log4j.appender.FILE.ImmediateFlush=true

log4j.appender.FILE.BufferedIO=false

 for (int i = 0; i < 10; i++) {
            LogUtils.debug("debug: log4j is start .");
            LogUtils.info("info: log4j is start .");
            LogUtils.warn("warn: log4j is start .");
            LogUtils.error("error: log4j is start .");
        }
验证可以输出到文件。


潘深练GS
潘深练GS
log4j.appender.FILE.ImmediateFlush=true log4j.appender.FILE.BufferedIO=false 原来在于这两句,我把这两句设置反了,ImmediateFlush ,应该是每次都立即刷新输出日志,BufferedIO不需要进行缓存,谢谢技术宅!
0
技术宅
技术宅
log4j.appender.FILE.BufferSize=16384,输出还没达到最大缓存,不会刷新到文件。你可以调小一点试试。
潘深练GS
潘深练GS
改小或者整句注释掉都还是空的,不知道是不是我写少了什么,或者还需要什么配置呢?
返回顶部
顶部