제목 | [게임서버] API > INFO 로깅분석 | ||
---|---|---|---|
글쓴이 | ci세상 | 작성시각 | 2015/02/23 18:49:49 |
|
|||
CI는 크게 4가지 타입의 로깅을 가능하게 해주고 있는데요 (error, debug, info, all) 게임운영시 항시 보관해야할 로그는 info 로그입니다. 서버<->클라간의 통신 데이터는 보관을 하고 있어야지 추후 운영대응이 가능하기 때문입니다. CI최신버전에도 아쉽게도 버그를 선택적으로 출력할 수 있는것이 아직까지 안된것 같더라구요 그래서 코어파일 1개를 부득이하게 수정하게 됩니다. 1. info 로그만 출력하기 위하여 Log 파일 복사 - 첨부파일을 /application/libraries/Log.php에 위치합니다. - 참고문서 : http://minarae7.tistory.com/?page=1 2. info 로그만 출력하도록 설정 /application/config/config.php > 183줄 $config['log_threshold'] = array(3); 3. 컨트롤러에서 info 로그 사용 - 전체 컨트롤러에 해당 부분을 적용하려면 코어를 많이 건드려야 해서 컨트롤러 1개에만 추가 - API_PATH, IN DATA, OUT DATA를 info로그로 남기는 부분입니다. lang->load("battle","korean"); $this->strings = $this->lang->language; log_message('info', "API PATH : ".$_SERVER["REQUEST_URI"]); } /** * @Author : CI * @Date : 20150218 * @Version : v1.0.0 * @param : idx (배틀고유값) * @Method 설명 : 배틀초기정보 */ public function Info() { // IN DATA // 클라이언트로부터 전달된 파라미터를 받습니다. $data = '{"idx":"100"}'; log_message('info', "IN DATA : ".$data); $data = json_decode($data, true); // PROCESS // 구현로직을 추가합니다. log_message('error', 'error log!!'); log_message('debug', 'debug log!!'); // OUT DATA // 클라이언트로 데이터를 규격대로 전달해 줍니다. // 공백은 항시 NULL 처리를 필요로 합니다. $json["battle_title"] = $this->strings["battle_title"]; $json["battle_max"] = $this->strings["battle_max"]; $json["battle_skill"] = $this->strings["battle_skill"]; $json["result"] = "Y"; $json["message"] = ""; $result = json_encode( $json ); log_message('info', "OUT DATA : ".$result); echo $result; } 4. 리눅스 콘솔로 tail -f log-년-월-일.php 파일 모니터링 |
|||
첨부파일 |
Log.zip (1.3 KB) |
||
다음글 | [게임서버] API주소 라우팅 (1) | ||
이전글 | [게임서버] API 명세서 정의 및 컨트롤러 코딩 (3) | ||
한대승(불의회상)
/
2015/02/24 12:45:47 /
추천
0
좋은 정보 감사 합니다. ^^
|