2019. 9. 4. 11:37 Server
게임 서버에서의 Log의 분류
출처 : https://gameqa.tistory.com/86
log의 용도별 분류는 크게 3가지로 구분할 수 있다
1. 기록용 로그
2. 발생 시각, 기록용 로그
3. 특정 행동 별 상세 로그
기록용 로그는 게임 서비스 중 DB에 계속 쌓이기 때문에 DB장비의 스펙에 제약을 받는다.
MMORPG의 경우에는 수많은 액션들이 동시다발적으로 발생하기 때문에
여러 테이블 참조할 시 지연이 발생할 수 있다.
따라서 게임 로그는 서버에서 얻을 수 있는 가장 단순한 정보를 남기고[원본 로그]
이를 재가공하여 사람이 읽기 쉽게 변경, 부가정보의 추가를 하게된다[표준화 로그]
발생 시각, 기록용 로그의 경우 크게 액션로그와 히스토리 로그로 구분할 수 있다.
액션로그의 경우 관련 액션이 발생 시 즉시 남기는 로그를 칭하며 액션 주체 + 액션 정보 + 부가정보 로 구성된다.
예를 들어 16:00에 playerId가 xx인 유저가 상점에서 product yy를 구매했다고 할 때
16:00 / xx / buy / productId:yy 이런식으로 남기는 것이 액션 로그이다.
반면, 히스토리 로그의 경우 게임의 동향을 파악할 용도로 일정 주기마다 특정 상태를 남기는 로그를 의미한다.
예를 들어 매 10분마다 현재 동접자 수를 확인하려고 할 때 [14:10 / 100][14:20 / 80] 이렇게 남기거나
일정 시간 별 유저들의 전체 결제 건수 등 통계에 사용할 용도의 로그들도 히스토리 로그라고 볼 수 있다.
마지막으로 액션 별 상세 분류가 있다.
액션 주체에 따라서 시스템로그, 케릭터로그, NPC로그로 분류할 수 있다.
시스템 로그의 경우 서버가 가동 시 서버시작을 알리는 로그 혹은 서버에서 ping이나 RPC호출 발생 시 남기는 로그를 예로 들 수 있다
케릭터 로그의 경우는 유저 접속 시 로그, 레벨업 혹은 아이템 획득과 관련된 로그를 예로 들 수 있다.
마지막으로 NPC로그의 경우 보스레이드와 관련된 로그 혹은 아이템이 발생한 경우 남기는 로그 등이 있다.
'Server' 카테고리의 다른 글
서버 Socket 설정하는 방법들 (0) | 2019.09.06 |
---|---|
게임 서버에서의 Log 구성 (0) | 2019.09.04 |
IOCP 동작원리에 대하여[작성중] (0) | 2019.08.26 |
IOCP에 대하여 (0) | 2019.08.26 |
메세지 큐[Message Queue] (0) | 2019.07.14 |