Skip to content

로깅 및 진단

AppPorts에는 앱 런타임 중 핵심 이벤트, 마이그레이션 작업, 시스템 정보 및 오류 세부 사항을 기록하는 내장 로깅 시스템이 있습니다. 문제가 발생하면 진단 패키지를 내보내어 프로젝트 Issues에 제출하여 문제를 해결할 수 있습니다.

기록되는 내용

시작 세션 정보

앱이 시작될 때마다 다음 정보가 기록됩니다:

항목설명
세션 ID이번 실행의 고유 식별자 (8자리 UUID 접두사)
프로세스 ID시스템 프로세스 식별자
Bundle ID앱 식별자
앱 언어현재 선택된 언어 코드
시스템 로케일시스템 로케일 식별자
시간대현재 시간대 식별자
선호 언어 목록시스템 선호 언어 순서

시스템 진단 정보

항목설명
앱 버전버전 번호 및 빌드 번호
macOS 버전시스템 버전 및 마케팅 이름 (예: "macOS Sequoia 15.x")
장치 모델모델 및 친숙한 이름 (예: "MacBook Pro (14-inch, M3 Pro, 2023)")
프로세서 정보브랜드 문자열, 코어 수, 활성 코어 수
물리적 메모리총 메모리

외장 저장소 정보

외장 저장소 볼륨을 선택할 때 기록됩니다:

항목설명
볼륨 이름저장소 볼륨 이름
총 용량 / 사용 가능 공간저장소 공간 정보
파일 시스템 형식예: APFS, HFS+, exFAT 등
인터페이스 프로토콜USB, Thunderbolt, NVMe/SATA
장치 속도전송 속도 정보
블록 크기저장소 블록 크기
볼륨 UUID저장소 볼륨 고유 식별자

마이그레이션 작업 이벤트

각 마이그레이션 작업은 고유한 작업 ID를 생성합니다 (예: data-migrate-ABCD1234), 다음을 기록:

  • 작업 시작 및 종료
  • 각 단계의 진행률 (복사, 원본 디렉토리 삭제, 심볼릭 링크 생성, 롤백)
  • 단계 전후의 경로 상태 스냅샷 (존재 여부, 권한, 크기, symlink 대상, 불변 플래그)
  • 잔여 마이그레이션 데이터 감지 및 자동 복구
  • 파일 복사 진행률, 오류 및 재시도

마이그레이션 성능 보고서

항목설명
앱 이름마이그레이션된 앱 이름
데이터 크기마이그레이션된 데이터 양
소요 시간마이그레이션 소요 시간 (초)
전송 속도전송률 (MB/s)
원본 경로 / 대상 경로마이그레이션 시작 및 끝 경로

오류 세부 사항

오류 로그에는 구조화된 정보가 포함됩니다:

필드설명
오류 설명사람이 읽을 수 있는 오류 설명
오류 유형 / 도메인 / 코드NSError 구조화 정보
실패 원인상세한 실패 원인
복구 제안시스템이 제공하는 복구 제안
파일 경로영향을 받은 파일 경로
근본 오류재귀적으로 기록된 중첩 오류

작업 요약

각 마이그레이션 작업은 OperationSummaryRecord를 생성하며, 최근 100개 레코드를 유지합니다:

필드설명
operationID작업 고유 식별자
category작업 카테고리 (app_move, data-migrate, file-copy 등)
result결과 (success, failed, rolled_back, success_with_warning)
errorCode오류 코드 (있는 경우)
startedAt / endedAt시작 및 종료 시간
durationMs소요 시간 (밀리초)

로그 설정

저장 위치

기본 로그 경로:

text
~/Library/Application Support/AppPorts/AppPorts_Log.txt

다음을 통해 사용자 정의할 수 있습니다:

  • 메뉴바 → 로그 → 로그 위치 설정
  • 설정 → 로깅 설정 → 사용자 정의 경로

로그 형식

text
[2026-05-08 09:30:00] [INFO] [session:a1b2c3d4] [pid:12345] App started
[2026-05-08 09:30:01] [DIAG] [session:a1b2c3d4] [pid:12345]   app_version: 1.6.1 (123)
[2026-05-08 09:30:05] [PERF] [session:a1b2c3d4] [pid:12345]   Migration complete: 2.3 GB, 45.2 MB/s, 52.1s

로그 레벨

레벨설명
INFO일반 정보
ERROR오류 정보 (구조화된 오류 세부 사항 포함)
DIAG시스템 진단 정보
DISK외장 저장소 볼륨 정보
PERF마이그레이션 성능 보고서
TRACE하위 수준 경로 상태 및 폴더 모니터링
DEBUG디버그 정보 (크기 계산, 중첩 디렉토리 검사)
WARN경고 (잔여 마이그레이션 데이터, 복구 모드)

로그 로테이션

  • 기본 최대 크기: 2 MB (설정 가능: 1 MB, 5 MB, 10 MB, 50 MB, 100 MB)
  • 초과 시 자동 잘라내기: 이전 절반의 줄을 버리고 새로운 절반을 유지

진단 패키지 내보내기

문제가 발생하여 피드백이 필요한 경우, 진단 패키지를 내보내어 Issue에 첨부해 주세요.

내보내기 방법

방법 1: 메뉴바

  1. 메뉴바 → 로그 → 진단 패키지 내보내기를 클릭합니다
  2. 저장 위치를 선택합니다
  3. 시스템이 자동으로 .zip 파일을 생성하고 Finder에서 엽니다

방법 2: 설정 페이지

  1. AppPorts → 설정 (오른쪽 상단)을 엽니다
  2. "로깅 설정" 섹션을 찾습니다
  3. "진단 패키지 내보내기" 버튼을 클릭합니다
  4. 저장 위치를 선택합니다

진단 패키지 내용

내보낸 AppPorts-Diagnostic-<datetime>.zip에는 다음이 포함됩니다:

파일형식설명
diagnostic-summary.jsonJSON메타데이터 (세션 ID, 버전, 로케일, 시간대 등)
diagnostic-summary.txt일반 텍스트사람이 읽을 수 있는 진단 요약
recent-operations.jsonJSON최근 100개 작업 기록
recent-failures.jsonJSON최근 20개 실패/경고 작업
AppPorts_Log.share-safe.txt일반 텍스트전체 로그 (비식별화됨)

개인정보 보호

진단 패키지의 로그 파일은 비식별화됩니다:

원본 내용대체 내용
사용자 홈 디렉토리 경로 (예: /Users/john)/Users/<redacted-user>
외장 저장소 볼륨 이름 (예: /Volumes/MyDrive)/Volumes/<redacted-volume>
$HOME 전체 경로~

Issues 제출

진단 패키지를 획득한 후 다음 단계를 따라 제출하세요:

  1. 프로젝트 Issues 페이지를 방문합니다
  2. "New Issue"를 클릭하고 Bug report 템플릿을 선택합니다
  3. 문제와 재현 단계를 설명합니다
  4. 진단 .zip 파일을 첨부 영역에 드래그하여 업로드합니다
  5. Issue를 제출합니다

💡 피드백 효율 향상

진단 패키지와 함께 Issues를 제출하면 문제 해결이 크게 빨라질 수 있습니다. 진단 패키지에는 전체 작업 이력, 오류 세부 사항 및 시스템 환경 정보가 포함되어 있어 개발자가 반복적인 소통 없이도 문제를 재현하고 분석할 수 있습니다.

最近更新