기술 자료

지원

Multiplay Hosting

Multiplay Hosting

로깅(베타)

Access server logs from your game servers to troubleshoot issues and monitor performance.
읽는 시간 2분최근 업데이트: 21일 전

로그를 기록하고 분석하는 것은 게임 서버의 문제를 해결하는 기본적이면서 아주 중요한 방법입니다. 타사 로깅 서비스도 사용할 수 있지만, Unity Gaming Services와 함께 사용하려면 추가적인 설정과 구성이 필요합니다. Multiplay Hosting 로깅 서비스를 사용하면 Unity Dashboard 프로젝트의 로깅 시스템을 따로 설정할 필요가 없습니다. 타사 서비스와의 커스텀 연동을 설정할 필요 없이 Unity Dashboard에서 로그를 확인하고, 검색하고, 다운로드할 수 있습니다. 이 로깅 서비스를 사용함으로써 사용자는 로깅 기능 사용과 관련된 개인 데이터를 제3자가 Unity에 전송하거나 저장하도록 허용하지 않을 것에 동의합니다.

요구 사항

비공개 베타 릴리스 단계에서는 다음 요구 사항을 충족해야 Multiplay Hosting 로깅을 사용할 수 있습니다.
  • Multiplay Hosting 서비스가 활성화되어야 합니다.
  • 별도로 로깅 경로를 설정하지 않으면 Multiplay Hosting이
    /usr/local/games/**/*.log
    디렉토리에서 로그를 찾습니다.
  • 기본 파일 확장자는 .log입니다. 다른 확장자를 사용하는 경우, 구성 변수 또는 실행 파라미터를 통해 커스텀 로깅 경로를 설정해야 합니다.

제한 사항

  • 로그 파일은 7일 동안만 유지됩니다.
  • 로깅은 STDOUT을 캡처하지 않지만, 향후 릴리스에서는 추가될 수도 있습니다.
  • 30일 동안의 로그 크기가 100GB를 초과해선 안 됩니다.
  • 머신별로 시간당 100,000개의 로그 라인을 초과해선 안 됩니다.
  • 로그 및 로깅 서비스에 대한 분석 데이터는 비공개 베타 버전에서는 제공되지 않습니다.
  • 이전 로그를 로드하기 위해 스크롤하면 자동으로 실시간 로그 기능이 비활성화됩니다.
  • 구조화된 로그에서 필드를 기준으로 로그를 정렬할 수 없습니다. 이는 Multiplay Hosting이 로그 출력 포맷을 예상할 수 없기 때문입니다.

기능 및 로드맵

비공개 베타 릴리스에는 다음 기능이 포함되어 있습니다.
  • 특정 서버의 실시간 로그를 확인합니다.
  • 플릿 내 모든 서버의 실시간 로그를 확인합니다.
  • 실시간 로그를 일시 정지합니다.
  • 단일 서버의 로그를 검색합니다.
  • 플릿 내 모든 서버의 로그를 검색합니다.
  • 컨텍스트에 해당하는 로그 파일을 다운로드합니다.
  • 오프라인 서버의 로그에 액세스합니다.
  • 특정 로그 파일 시퀀스로 로그 파일을 필터링합니다.
  • 로그 컨텍스트를 통해 로그 엔트리 전후 어떠한 일이 발생했는지 파악합니다.
  • 로깅 서비스를 활성화/비활성화합니다.
  • 로깅 서비스 제한을 표시합니다.
다음 기능은 향후 릴리스에 계획되어 있습니다. 계획된 기능은 예고 없이 변경될 수 있습니다.
  • 비용 절감을 위해 로깅을 일시 정지합니다.
  • 로그 파일과 함께 표준 출력(STDOUT)을 확인합니다.
  • 호환되지 않는 구성에 대한 알림을 활성화합니다.
  • 커스텀 로깅 제한을 구성합니다.
  • 기본 로그 최대 비용을 오버라이드합니다.

시작하기

로깅 기능을 사용하려면 먼저 Unity Dashboard에서 로깅을 활성화해야 합니다.
  1. Multiplay 아래의 Multiplay Hosting 사이드바에서 Logs를 선택합니다.
  2. Enable logs를 선택합니다.
  3. 제한 사항 다이얼로그를 읽은 다음 Enable을 선택합니다.
Multiplay Hosting이 로그 파일을 찾을 수 있도록 게임 서버 실행 파일에서 올바른 위치에 로그 파일을 저장해야 합니다. 로그 파일은 기본 디렉토리나 커스텀 디렉토리에 저장할 수 있습니다. 커스텀 디렉토리에 저장하는 경우, 빌드 구성 설정에서 커스텀 디렉토리를 지정해야 합니다. Multiplay Hosting은 빌드 구성 변수실행 파라미터로 지정된 커스텀 로그 출력 디렉토리가 있는지 확인합니다. 커스텀 로그 출력 디렉토리를 지정한 경우, 해당 디렉토리를 사용합니다. 커스텀 로그 출력 디렉토리를 지정하지 않은 경우, 다음 디렉토리에서 .log로 끝나는 파일을 찾습니다.
/usr/local/games/**/*

가이드

Multiplay Hosting 로깅에서 각 로깅 작업을 수행하는 방법을 알아보려면 다음 가이드를 참고하십시오.

로그 확인

게임 서버 로그를 확인하려면 다음을 수행합니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.

실시간 로그 확인

실시간 로그를 확인하려면 다음을 수행합니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Live Logs를 선택합니다.
실시간 로그가 활성화된 경우, 게임 서버가 실행되는 동안 로그 페이지에 새 로그가 업데이트됩니다. 하지만 이전 로그를 보기 위해 스크롤하면 자동으로 실시간 로그가 비활성화됩니다.

정적 로그 확인

정적 로그를 확인하려면 다음을 수행합니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Static Logs를 선택합니다.
정적 로그가 활성화된 경우, 게임 서버가 실행되는 동안 로그 페이지에 자동으로 새 로그가 표시되지 않습니다.

로그 검색

로그를 검색하려면 다음을 수행합니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. 검색어를 검색창에 입력합니다.
    • Filter on search를 활성화하면 입력하면서 자동으로 필터링할 수 있습니다.

플릿 로그 검색

Fleet을 선택해 특정 플릿의 모든 로그를 살펴본 다음 로그 메시지로 검색하거나 날짜 범위 또는 서버를 기준으로 필터링할 수 있습니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Fleet 드롭다운 메뉴를 사용하여 플릿을 선택합니다.
  5. 검색창을 사용하여 키워드를 검색하거나 Date range로 검색합니다.

서버 로그 검색

Server를 선택하여 특정 게임 서버의 모든 로그를 살펴본 다음 로그 메시지로 검색하거나 날짜 범위를 기준으로 결과를 필터링할 수 있습니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Server 드롭다운 메뉴를 사용하여 서버를 선택합니다.
  5. 검색창을 사용하여 키워드를 검색하거나 Date range로 검색합니다.

로그 검색 결과 추적

실시간 로그 기능을 활성화하여 로그 검색 결과를 추적할 수 있습니다. 서버 또는 플릿이 온라인 상태인 경우, 게임 서버가 새 로그 엔트리를 생성하자마자 해당 엔트리를 확인할 수 있습니다.

로그 필터링

날짜 범위나 플릿, 게임 서버를 기준으로 로그를 필터링하려면 다음을 수행합니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. 사용할 필터를 선택합니다.

날짜 범위로 필터링

사전 설정된 날짜 필터(예: 24시간) 또는 커스텀 날짜 범위를 사용하여 로그를 필터링할 수 있습니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Date rangeCustom으로 설정합니다.
  5. 로그를 필터링할 Start dateEnd date를 선택합니다.
  6. Apply를 선택합니다. End date를 비워 두면 현재 날짜로 기본 설정됩니다.

플릿으로 필터링

  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Fleet 드롭다운 메뉴를 사용하여 플릿을 선택합니다.

서버로 필터링

  1. Unity Dashboard에서 **Multiplay Hosting(Multiplay)**을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Server 드롭다운 메뉴를 사용하여 서버를 선택합니다.

로그 파일로 필터링

  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Logfile 드롭다운 메뉴를 사용하여 로그 파일을 선택합니다.

컨텍스트로 로그 확인

각 로그 엔트리의 더 보기(⋮) 메뉴에서 사용할 수 있는 추가적인 컨텍스트 필터 옵션이 있습니다. 이 메뉴를 사용하면 플릿, 서버, 로그 파일별로 로그를 필터링하거나 컨텍스트에 따라 로그 엔트리를 확인할 수 있습니다.

플릿으로 필터링

플릿으로 필터링하면 현재 로그 검색 결과에서 선택한 로그 엔트리와 동일한 플릿의 결과만 표시할 수 있습니다.

서버로 필터링

서버로 필터링하면 현재 로그 검색 결과에서 선택한 로그 엔트리와 동일한 서버의 결과만 표시할 수 있습니다. 컨텍스트 필터를 선택한 다음 다른 컨텍스트를 기준으로 결과를 추가로 필터링할 수 있습니다.

로그 파일로 필터링

로그 파일로 필터링하면 현재 로그 검색 결과에서 선택한 로그 엔트리와 동일한 로그 파일의 결과만 표시할 수 있습니다. 로그 파일로 필터링하면 자동으로 해당 로그 파일과 연결된 플릿과 서버로 결과를 필터링합니다.

컨텍스트로 확인

컨텍스트로 로그 파일을 확인하면 자동으로 로그 엔트리와 동일한 플릿과 서버를 기준으로 로그를 필터링하고, 엔트리 전후 5분으로 시간을 제한합니다.

로그 다운로드

로그를 다운로드하려면 다음을 수행합니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Download logs를 선택합니다.
현재 필터와 검색 결과를 기반으로 로드한 로그를 다운로드합니다. Download logs를 선택할 때 실시간 로그가 활성화되어 있다면 가장 최신 로그를 다운로드합니다. 스크롤을 내린 다음 Download logs를 선택하면 Logs view에 로드한 모든 로그 파일도 함께 다운로드합니다. 날짜 범위, 플릿, 서버 또는 검색 쿼리를 기준으로 로그를 필터링하여 어떤 로그를 다운로드할지 제어할 수 있습니다. 예를 들어, 한 서버의 로그 중에서 특정 날짜 범위에 속한 로그를 다운로드하려면 Download logs를 선택하기 전에 Date range 필터와 Server 필터로 로그를 필터링합니다.

특정 로그 파일 다운로드

로그 엔트리 행 끝에 있는 Download source log file 아이콘을 선택하여 특정 로그 엔트리의 소스 로그 파일을 다운로드할 수 있습니다.

특정 시간의 로그 다운로드

날짜 범위로 로그를 필터링한 후 Download logs를 선택하면 특정 시간의 로그를 다운로드할 수 있습니다.
  1. Unity Dashboard에서 Multiplay Hosting을 엽니다.
  2. Debugging을 선택합니다.
  3. Logging 탭을 선택합니다.
  4. Date rangeCustom으로 설정합니다.
  5. 로그를 필터링할 Start dateEnd date를 선택한 다음 Apply를 선택합니다. End date를 비워 두면 현재 날짜로 기본 설정됩니다.
  6. Download logs를 선택합니다.

로그 검색 결과 다운로드

Download logs를 선택하여 현재 검색 결과를 다운로드할 수 있습니다. 기본적으로 로드된 로그 결과만 다운로드합니다.

로그 비활성화

Multiplay Hosting 로그를 언제든지 비활성화할 수 있습니다. 로그를 비활성화하면 로그에 액세스하거나 Multiplay Hosting의 로깅 기능을 사용할 수 없습니다. Multiplay Hosting를 비활성화해도 로그 파일이 삭제되지는 않습니다. 서버는 계속 로그 파일에 로그를 기록하며, 표준 Multiplay Hosting 로그 뷰에서 로그 파일에 액세스할 수 있습니다.

문제 해결

Unity Dashboard에 로그가 표시되지 않는 경우 다음을 확인합니다.
  1. 기본 로그 출력 디렉토리를 사용하거나 커스텀 로그 출력 디렉토리를 지정했는지 확인합니다.
  2. .log가 아닌 파일 확장자를 사용하는 경우 커스텀 로그 출력 디렉토리를 설정해야 합니다.
  3. Unreal Engine으로 게임을 제작하는 경우면 Unreal을 사용하는 게임의 로그 출력 리디렉트를 참조하십시오.

용어집

플릿: 플릿은 Multiplay Hosting(Multiplay)이 논리적 단위로 취급하는 서버의 모음입니다. 머신: 서버가 실행되는 클라우드 또는 베어메탈 머신이며, 하나의 머신에서 하나 이상의 서버가 실행될 수 있습니다. 서버: 게임 서버 바이너리의 실제 실행 중인 실행 파일입니다. 한 번의 실행 중에 새 세션의 시작과 종료가 반복되는 장기 실행 서버일 수도 있고, 세션이 끝나면 종료되는 단일 세션 실행 파일일 수도 있습니다. 개발자는 이 서버에서 로깅 전략을 구현합니다. 각 서버가 하나 이상의 로그 파일을 생성할 수 있습니다. 로그 파일은 수명이 길 수도 있고 짧을 수도 있습니다. 컨텍스트(로그 파일): 로그 파일에는 로깅 데이터가 저장됩니다. 개발자는 각 서버가 생성하는 파일의 개수, 각 로그 파일에 저장되는 내용, 로그 데이터의 포맷, 로그 파일에서 정보를 찾는 방법을 알아야 합니다. 실시간 로그: 실시간 로그는 실시간 로그 뷰를 의미하며, 여기에서 실시간 로그를 활성화할 수 있습니다. 이 뷰에서는 새로 생성된 로그 파일이 자동으로 로그 검색 결과를 채웁니다. 정적 로그: 정적 로그는 정적 로그 뷰를 의미하며, 여기에서는 실시간 로그가 현재 검색 결과를 채우지 않습니다. 필터링: 필터링은 키워드나 플릿, 서버, 로그, 날짜 범위를 기준으로 로그를 필터링하는 프로세스입니다. 로그 파일: 로그 파일, 즉 소스 로그 파일은 로그 뷰에 노출되는 정보의 소스입니다. 검색 결과에서 특정 소스 로그 파일을 다운로드할 수 있습니다. 서버 로그: 게임 서버를 실행 중인 게임 서버 실행 파일에서 생성된 모든 로그 파일입니다. 특정 서버를 기준으로 로그를 필터링할 수 있습니다. 플릿 로그: 플릿 로그는 특정 플릿 내의 서버에서 생성된 모든 로그 파일입니다. 특정 플릿을 기준으로 로그를 필터링할 수 있습니다.