로테이션 로그 파일 수집기

로테이션 (rotation) 로거는 주기적으로 로테이션 되는 텍스트 로그 파일을 일정 주기마다 수집하려고 할 때 사용합니다.

로테이션 로그 파일 수집 설정

  • 파일 경로: 주기적으로 로테이션 되는 텍스트 로그 파일의 절대 경로를 입력합니다.
  • 문자 집합: 텍스트 파일 해석에 사용할 문자집합 코드를 입력합니다. 기본값은 utf-8입니다.
  • 날짜 정규표현식: 로그에서 날짜 문자열을 추출합니다. 정규표현식 그룹으로 묶인 모든 부분을 이어붙여서 하나의 날짜 문자열을 만들어냅니다.
  • 날짜 패턴: 날짜 문자열을 파싱하는데 사용할 날짜 포맷을 설정합니다. (예: yyyy-MM-dd HH:mm:ss)
  • 날짜 로케일: 날짜 문자열의 로케일. 가령 날짜 파싱 포맷의 지시자 중 MMM의 해석은 로케일에 따라 “Jan” 혹은 “1월”로 해석됩니다. 기본값은 en입니다.
  • 시간대: 날짜 문자열의 시간대를 입력합니다. (예: KST 또는 Asia/Seoul)
  • 로그 시작 정규표현식: 로그의 시작 부분을 인식하는 정규표현식을 지정합니다. 멀티라인 로그의 경우에 사용되며, 지정하지 않으면 줄 단위로 읽어들입니다.
  • 로그 끝 정규표현식: 로그의 끝 부분을 인식하는 정규표현식을 지정합니다. 멀티라인 로그의 경우에 사용되며, 지정하지 않으면 줄 단위로 읽어들입니다.
  • 파일 끝 수집 활성화: 로그 끝이 식별되지 않더라도 파일 끝에 도달하면 로그를 수집합니다. "true"로 입력할 경우 활성화되며, 미설정시 "false"를 기본 값으로 비활성화 됩니다.
  • 개행 문자로 CR 사용: 캐리지 리턴 코드를 줄바꿈 문자로 사용합니다. "true"로 입력할 경우 활성화되며, 미설정시 "false"를 기본 값으로 비활성화 됩니다.
  • 트랜스포머 설정: 수집된 로그에 적용할 트랜스포머를 선택합니다. "선택하세요."로 설정할 경우 트랜스포머가 적용되지 않고 원본 그대로 수집합니다. 트랜스포머에 대한 자세한 내용은 다음 항목을 참고하세요. 12.2.2 트랜스포머새
로테이션 로그 파일 수집기 사용 시 주의점
Caution
2004.0 이전 배포버전에서는 로그 수집 후 파일이 로테이션 되기 직전에 추가 로그가 발생하면 해당 로그가 유실되는 현상이 있었습니다. 2004.0 배포버전부터는 해당 로그가 유실되지 않고 정상 수집됩니다.

예를 들어 수집주기가 1초일 때, 파일이 로테이션되기 직전, 즉 23:59:59와 00:00:00 사이에 로그가 발생하면 로테이션 전의 파일에 쓰여지고 00:00:00부터는 로테이션된 새로운 로그 파일에서 데이터를 수집하기 때문에 해당 로그가 유실될 수 있습니다.

샘플 로그

[2019-08-01 23:59:58,912]  INFO  (ScriptRunner) - aaaaa
[2019-08-01 23:59:59,570]  WARN  (MessageBusImpl) - bbbbb
00:00:00에 sample.log -> sample.log.20190801 로 변경 후, 신규 sample.log 파일 생성
[2019-08-02 00:00:00,387]  INFO  (ScriptRunner) - ccccc
[2019-08-02 00:00:01,791]  ERROR  (MailerServiceImpl) - ddddd