Log4j로 로깅을 이해하려고하는데 현재 사용하고있는 탐험 중 하나가 많은 양의 데이터 항목 (100k)을 로그 파일에 쓰고 있습니다. 현재 NetBeans 8.1과 Log4j 1.2.17을 사용하고 있습니다. 내 log4j.properties 파일은많은 양의 기본 로그 로깅
log4j.rootLogger=debug, stdout, R
# This is use for debuging mode
log4j.logger.testlogging=DEBUG
#### Appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n
#### Appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%nenter code here
입니다 그리고 나는 모든 항목이 채워지고 볼이 프로그램을 실행 한 후 만들어 내 examples.log 파일을 볼 때 내 실제 프로그램은
package log4j;
import org.apache.log4j.Logger;
public class Log4j {
//initializing the logger
private final static Logger log = Logger.getLogger(Log4j.class.getName());
public static void main(String[] args) {
int testnum = 100000;
for (int i = 0; i<testnum ; i++) {
log.debug("This is a test and the current value is " + i);
}
}
}
입니다 콘솔에서 보는 것처럼. 나는 아마 6962에서 14752까지 99775까지 시작하는 사이에 변동하는 것을 본다. 파일이 출력 할 수있는 메모리에는 한계가 있는가? 100k 항목이 모두 로그 파일에 기록되도록하려면 어떻게해야합니까?
잘하면 모든 것을 설명하기 위해 크기를 만들려고했는데, 그것은 여전히 36KB까지 올라간 후에도 모든 것을 움켜 잡지 못합니다. 어쨌든 나는 1.x 버전이 은퇴했다는 것을 알고 있지만, 2.x가 내 작업 공간에서 작업 할 수 없기 때문에 롤백했다. – TimTom