1

我正在使用 log4j 来记录我的 Java 项目。我正在创建三种类型的日志文件,称为“信息”、“调试”和“错误”。我已经设置了每个文件的最大大小选项。但它们并没有像我们设置的那样限制大小。

调试文件的代码是 -

public class DebugAppender extends RollingFileAppender {

    /** Creates a new instance of DebugAppender */
    public DebugAppender(String debuglogname, String path, String logfilesize) {
        String Filename = null;
        if (path == null || path.equalsIgnoreCase("")) {
            Filename = "Logs" + File.separator + debuglogname + ".log";
        } else {
            Filename = path + File.separator + "Logs" + File.separator + debuglogname + ".log";
        }
        super.setFile(Filename);
        setMaxFileSize(logfilesize);
        setMaxBackupIndex(2);
        setAppend(true);
        setLayout(new PatternLayout("%d{DATE}  %-5p %c{1} : %m%n"));
        activateOptions();
    }

    public String getFName() {
        return super.getFile();
    }
}

调试记录器的调用是 -

Logger debugLogger = Logger.getLogger(LogHandler.class.getName() + "Debug");
DebugAppender objDebugAppender = new DebugAppender(debugFileName, sTempPath, "1MB");
debugLogger.addAppender(objDebugAppender);

我们将其大小设置为“1MB”,但三个文件都不限于 1 MB,它们都超过了 GB。我怎样才能限制它们的大小。如果需要设置任何设置,请告诉我。

谢谢

4

2 回答 2

1

您必须通过 log4j 属性文件设置日志文件的文件大小

log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
于 2013-04-11T15:12:42.933 回答
0

在 xml 格式中,它将是

<param name="MaxFileSize" value="1MB" />  
<param name="MaxBackupIndex" value="1" />
于 2014-10-01T07:34:25.737 回答