| 제목 | [게임서버] 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
좋은 정보 감사 합니다. ^^
|