code

log4j에서 오래된 회전 로그 파일을 삭제하려면 어떻게해야합니까?

codestyles 2020. 12. 30. 08:11
반응형

log4j에서 오래된 회전 로그 파일을 삭제하려면 어떻게해야합니까?


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


RollingFileAppender가이를 수행합니다. maxBackupIndex를 백업 파일의 가장 높은 값으로 설정하기 만하면됩니다.


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

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

이 값은 log4j.xml에 20 개의 회전 된 로그 파일 만 유지하도록 지시합니다. 원하는 경우 5 개로 제한하거나 1 개로 제한 할 수 있습니다. 애플리케이션이 그다지 많은 데이터를 로깅하지 않고 지난 8 개월 동안 20 개의 로그 파일이 있지만 몇 주 분량의 로그 만 필요하다면 log4j.xml "MaxBackupIndex"및 "MaxFileSize"매개 변수를 조정해야합니다.

또는 속성 파일 (xml 대신)을 사용 중이고 15 개의 파일을 저장하려는 경우 (예 :

log4j.appender.[appenderName].MaxBackupIndex = 15

DailyRollingFileAppender에 의해 생성 된 오래된 로그 파일 삭제를 제어하는 ​​기본값은 없습니다. 그러나 maxBackupIndex를 RollingFileAppender에 대해 설정하는 것과 거의 동일한 방식으로 이전 로그 파일을 삭제하는 사용자 지정 Appender를 작성할 수 있습니다.

여기에있는 간단한 지침

1 부터 :

매일 로그 파일에 Apache Log4J DailyRollingFileAppender를 사용하려는 경우 보관해야하는 최대 파일 수를 지정해야 할 수 있습니다. RollingFileAppender가 maxBackupIndex를 지원하는 것과 마찬가지로. 그러나 현재 버전의 Log4j (Apache log4j 1.2.16)는 DailyRollingFileAppender를 사용하는 경우 이전 로그 파일을 삭제하는 메커니즘을 제공하지 않습니다. maxBackupIndex 속성을 추가하기 위해 DailyRollingFileAppender의 원래 버전에서 약간의 수정을 시도했습니다. 따라서 향후 사용에 필요하지 않을 수있는 오래된 로그 파일을 정리할 수 있습니다.

참조 URL : https://stackoverflow.com/questions/1050256/how-can-i-get-log4j-to-delete-old-rotating-log-files

반응형