로그 출력 기능 사양서
개요
본 로그 출력 기능은 EAUploader의 일련의 내부 동작을 로그 파일에 출력하여 개발자가 쉽게 확인할 수 있는 기능을 제공합니다. 이 기능은 개발자가 빠르게 오류 분석을 수행하기 위해 제공됩니다.
용어
- 로그 파일 GUID: 로그 파일마다 EAUploader에 의해 할당된 GUID를 가리킵니다. 개발자가 전송된 로그 파일을 식별하는 데 사용됩니다.
- EAU 로그: 로그 유형이 EAU인 로그를 가리킵니다.
- EAU 로그 출력 메서드: EAU 로그를 출력할 때 사용하는 메서드를 가리킵니다.
본 기능은 다음 기능을 제공합니다.
로그 출력 기능
로그 출력 기능의 시작 및 종료 시점
EAUploader 실행 중에는 항상 로그를 출력합니다.
로그의 출력 범위
Unity의 콘솔에 출력되는 모든 로그를 로그 파일에 출력합니다. 또한 EAU 로그 출력 메서드가 호출된 경우에도 로그를 출력합니다.
로그 파일 형식 및 저장 위치
본 기능으로 출력되는 로그 파일은 Unity 프로젝트 폴더 바로 아래의 EAUploaderLog
폴더에 모두 저장됩니다.
EAUploaderLog
폴더에 보관하는 로그 파일의 용량은 100MB로 제한합니다. 로그 파일의 용량이 100MB를 초과한 상태에서 로그 파일을 추가하려고 할 경우, 용량이 100MB를 초과하지 않을 때까지 가장 오래된 로그 파일부터 삭제합니다.
로그 파일의 출력 단위는 EAUploader 시작부터 EAUploader 종료까지입니다. 로그 파일의 이름 형식은 YYYY-MM-DD-1.log
로 합니다. YYYY-MM-DD는 로그 파일이 생성된 년월일(UTC)을 나타내며, -[number]는 동일한 날짜에 EAUploader가 시작된 횟수를 나타냅니다. 예를 들어, 2024-04-22-3.log라는 로그 파일은 2024년 4월 22일에 EAUploader가 3번째로 시작된 경우에 출력된 로그 파일을 의미합니다.
EAUploader 시작 시에 출력하는 로그
EAUploader 시작 시에는 환경 정보와 날짜(UTC), 로그 파일 GUID를 출력합니다.
로그의 출력 형식
로그는 다음 형식으로 출력합니다.
02:42:42.345 [LOG_TYPE] [LOG_MESSAGE] [LOG_TRACELOG]
- 타임스탬프
- hh:mm:ss .fff 형식으로 로그가 출력된 시간(UTC)을 출력합니다.
- LOG_TYPE
- 로그 유형을 나타냅니다. 유형은 다음과 같습니다. 1. LOG: 일반 로그. 일반적인 로그 레벨입니다. 2. WNG: 경고 로그. 3. ERR: 오류 로그. 4. EXP: 예외 로그. 5. AST: 어서트 로그. 6. EAU: EAU 로그.
- LOG_MESSAGE
- 로그 메시지 본문입니다.
- LOG_TRACELOG
- 로그 출력 위치입니다. ERR, EXP의 경우 트레이스 로그를 표시합니다.
EAU 로그 출력 메서드
EAU 로그 출력 메서드를 호출한 경우, EAU 로그를 출력합니다. EAU 로그는 EAUploader의 작업을 로그 파일에 기록하고자 할 때 사용합니다.
로그 보고서 전송 기능
전송 기능 시작 시점
사용자는 상단 화면에 표시된 “로그 보고서를 표시” 버튼을 통해 개발자에게 로그 파일을 전송할 수 있습니다. 본 기능에서는 로그 폴더 내에 있는 최신 로그 파일을 전송합니다.
전송 기능 화면 전환
”로그 보고서를 표시” 버튼을 누른 후, 사용자에게 로그 파일을 실제로 전송할 것인지 확인하는 대화 상자를 표시합니다.
사용자가 위 대화 상자에서 전송하기 버튼을 누른 경우, 로그 파일 전송 처리를 실행합니다. × 버튼을 눌러 대화 상자를 닫은 경우, 로그 파일 전송 처리를 실행하지 않고 상단 화면으로 전환합니다.
로그 파일 전송 처리가 성공한 경우, 사용자에게 전송 완료 메시지와 로그 파일 GUID를 표시합니다. 로그 파일 전송 처리가 실패한 경우, 사용자에게 전송 실패 메시지를 전송합니다.
이상입니다.