我这样配置,
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylog.txtlog4j.appender.file.MaxFileSize=10KB    
log4j.appender.file.MaxBackupIndex=5 
为什么日志文件达到10kb之后就自动被新的日志文件给替换了?
怎样设置才能达到 保留最后5个日志文件 的效果?

解决方案 »

  1.   

    不是有mylog.txt.1,mylog.txt.2吗。仔细看看
      

  2.   

    没有!!--确定!
    所以我才 纳闷-ing
      

  3.   

    log4j RollingFileAppender和DailyRollingFileAppender 的时候,
    在增加log文件的时候,用的是rename,如果想真的新增,就要改它的原代码...
    这个是log4j里面的原代码,
    File file = new File(fileName);
        boolean result = file.renameTo(target);
    我是这么改的.
     boolean result = true;
        try{  
            java.io.FileInputStream fosfrom = new java.io.FileInputStream(fileName);  
            java.io.FileOutputStream fosto = new java.io.FileOutputStream(scheduledFilename);  
            byte bt[] = new byte[2048];  
            int c;  
            while((c = fosfrom.read(bt)) > 0){
                fosto.write(bt, 0, c);  
            }
            fosfrom.close();
            fosto.close();
        }
        catch(Exception ex){
         result = false;
         LogLog.debug(ex.getMessage());
            ex.printStackTrace();
        }  
    记得,改完之后要打包.这个比较麻烦,如果没有那个必要,就不需要改了..一般报的错误是Failed to rename mylog.txt to mylog.txt.1之类的
      

  4.   

    麻烦!---那就不改了,把MaxSize定的大一点好了