log4J를 구식 로그 로그 파일을 삭제하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1050256

  •  20-08-2019
  •  | 
  •  

문제

log4J를 구식 로그 로그 파일을 삭제하려면 어떻게해야합니까? 자동화 된 작업 (UNIX 용 CRON 및 Windows 용 예약 된 작업)을 설정할 수 있지만 크로스 플랫폼을 원하며 OS의 별도의 코드가 아닌 응용 프로그램의 일부로 응용 프로그램의 로그 구성에서이를 원합니다. 특정 스크립팅 언어. 우리의 응용 프로그램은 OS 스크립팅 언어로 작성되지 않았으며,이 부분 에서이 부분을 수행하고 싶지 않습니다.

도움이 되었습니까?

해결책

RollingFileAppender 가이 작업을 수행합니다. 백업 파일의 MaxBackUpIndex를 최고 값으로 설정하면됩니다.

다른 팁

로그는 이유가 있으므로 로그가 회전하여 많은 로그 파일 만 보관할 수 있습니다. log4j.xml에서 당신은 이것을 노드에 추가 할 수 있습니다.

<param name="MaxBackupIndex" value="20"/>

값은 log4j.xml에게 20 개의 회전 된 로그 파일을 유지하도록 지시합니다. 원하는 경우 5로 제한 할 수 있습니다. 응용 프로그램이 많은 데이터를 기록하지 않고 지난 8 개월 동안 20 개의 로그 파일이 있지만 몇 주 분량의 로그 만 있으면됩니다. log4j.xml "maxbackupindex"및 "maxfilesize"params를 조정해야합니다.

또는 XML 대신 Properties 파일을 사용하고 있고 15 개의 파일을 저장하려는 경우 (예 :

log4j.appender.[appenderName].MaxBackupIndex = 15

DailyrollingFileAppender에 의해 생성 된 오래된 로그 파일을 삭제하는 기본값은 없습니다. 그러나 MaxBackUpIndex가 RollingFileAppender를 위해하는 것과 거의 같은 방식으로 오래된 로그 파일을 삭제하는 자신의 사용자 정의 appender를 작성할 수 있습니다.

간단한 지침이 발견되었습니다 여기

에서 1:

매일 로그 파일에 Apache Log4J DailyrollingFileAppender를 사용하려는 경우 유지해야 할 최대 파일 수를 지정해야 할 수도 있습니다. Rolling RollingFileAppender와 마찬가지로 MaxBackupIndex를 지원합니다. 그러나 현재 버전의 log4J (Apache Log4J 1.2.16)는 DailyrollingFileAppender를 사용하는 경우 이전 로그 파일을 삭제하는 메커니즘을 제공하지 않습니다. MaxBackUpIndex 속성을 추가하기 위해 DailyrollingFileAppender의 원래 버전에서 작은 수정을 시도했습니다. 따라서 향후 사용에 필요하지 않을 수있는 오래된 로그 파일을 정리할 수 있습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top