내 프로젝트에서 Log4j를 구현 중입니다. 모든 n 개의 로그 항목을 새 파일에 기록하고 싶습니다. 나는 'RollingFileAppender'를 사용하여 시도했지만 크기와 시간만을 기준으로 로그 파일을 변경한다고 생각합니다. 내가 파일 이름이 매 10 개 항목을 변경 볼 수 있습니다 콘솔동적으로 Log4j 파일 이름 변경
public class ControlTableLoggerConsumer {
static {
System.setProperty("log4jfilename","d:\\control_log_1_9.json");
}
private static final Logger log = Logger.getLogger("ControlTable");
private static long logEntries = 0;
public static void main(String args[]) {
System.out.println("Curr log file:"+logEntries+"::"+System.getProperty("log4jfilename"));
log.info("Log entry:"+logEntries);
logEntries++;
if((logEntries >= 10) && ((logEntries % 10) == 0)) {
System.out.println("going to change file name to "+"d:\\control_log_"+logEntries+"_"+(logEntries+9)+".json");
System.setProperty("log4jfilename","d:\\control_log_"+logEntries+"_"+(logEntries+9)+".json");
}
if(logEntries == 1000)
break;
}
log4j.logger.ControlTable=debug, controlTable
log4j.additivity.ControlTable = false
log4j.appender.controlTable=org.apache.log4j.RollingFileAppender
log4j.appender.controlTable.File=${log4jfilename}
log4j.appender.controlTable.MaxFileSize=10MB
log4j.appender.controlTable.MaxBackupIndex=10
log4j.appender.controlTable.layout=org.apache.log4j.PatternLayout
홈페이지
log4j.properties :
지금까지 내가 코드를 아래로했다 ,하지만 내 D 드라이브에서 나는 모든 로그 정보가있는 하나의 파일 만 볼 수 있습니다.
log4j2 태그를 제거 할 수 있습니까? 이것은 log4j1 전용 질문입니다. –