Logging in Kurogo
Kurogo 에는 일반적인 logging과 예외적인 이벤트에 대한 logging이 있습니다. logging 시스템의 목적은 수정될 필요가 있는 중요한 상황에 대해 시스템 관리자에게 알리기 위한 점과 개발자에게 Kurogo code paths를 trace 하고 디버그 할 수 있도록 하기 위함입니다.
디폴트로 Kurogo event들은 SITE_DIR/logs/kurogo.log 에 log 됩니다. 각 entry들은 몇개의 부분들로 구성됩니다.
[date/time] area:priority method URI message
area는 이 메세지를 담당하고 있는 Kurogo component를 string으로 표현합니다. Kurogo는 몇개의 표준 area들을 정의하고 있습니다. 그 외에 개발자들은 필요에 따라 아무런 string을 사용하셔도 됩니다. priority는 이 메세지의 중요성(시급성) 등을 알리는 부분입니다. 이 priority map 들은 syslog function 의 priority들을 따릅니다. function/method는 이 메세지가 어디에서 나왔는지를 알 수 있도록 도와 줍니다. 이 URI는 유저가 본 페이지의 address 입니다.
Log Settings
Kurogo log의 behavior에 영향을 주는 몇가지 세팅이 있습니다. 이것들은 SITE_DIR/config/site.ini 에 위치해 있습니다.
- KUROGO_LOG_FILE (default LOG_DIR/kurogo.log) - Kurogo log 파일의 위치입니다. 이 위치는 웹서버에 의해 write 가 가능해야 합니다. 여기에 모든 로그 메세지들이 저장되게 됩니다.
- DEFAULT_LOGGING_LEVEL - logging level을 세팅합니다. 여기서 세팅된 레벨보다 높은 메세지만 log 됩니다. 레벨 이하의 로그는 무시됩니다.
- LOGGING_LEVEL[area] - 특별 area에 대한 logging 레벨을 세팅합니다. 이 기능은 개발자들이 특정 area에 대한 메세지만 보고 싶을 때 유용하기 사용하실 수 있습니다. 이 레벨은 이 area 에서 DEFAULT_LOGGING_LEVEL를 override 할 겁니다. 여러분은 원하는 만큼의 area를 override 할 수 있습니다.
Priority Levels
Kurogo에 의해 사용되는 priority level constants가 있습니다. 대부분의 시스템에서는 이것을LOG_WARNING으로 세팅합니다. 이것을 LOG_INFO나 LOG_DEBUG로 세팅하면 여러분은 더 많은 메세지를 보실 수 있습니다. 일반적으로 디버깅을 위해서는 이것을 warning 보다 낮게 세팅하고 있습니다.
- LOG_EMERG - system is unusable
- LOG_ALERT - action must be taken immediately
- LOG_CRIT -critical conditions
- LOG_ERR - error conditions
- LOG_WARNING - warning conditions
- LOG_NOTICE -normal, but significant, condition
- LOG_INFO -informational message
- LOG_DEBUG - debug-level message
Standard areas in Kurogo
아래는 logging 메세지들을 구분하기 위한 Kurogo 내부 area들에 의해 사용되는 area들 입니다. 개발자들은 이 임의의 area를 만들어서 사용하실 수 있습니다.
- admin - Admin console
- auth - Authentication and authorization
- config - Configuration
- data - Used by libraries that retrieve external data.
- db - Database
- deviceDetection - Device Detection
- exception - Exceptions
- kurogo - Core functions including initialization
- module - General module events
- session - User session management
- template - HTML templates
Logging in your module or library
Kurogo::log($priority, $message, $area) 메소드는 log에 메세지를 보냅니다.
$priority 파라미터는 priority level constants 라야 합니다. message는 string 이어야 하고 area는 여러분이 log 하고 싶어하는 area로 string 이어야 합니다. 여러분은 여러분이 필요한 area에 대해 logging 세팅을 하기 위해 LOGGING_LEVEL[area]를 사용하실 수 있습니다.
'WEB_APP > Kurogo' 카테고리의 다른 글
Kurogo Tutorial 18 - Video Module - (0) | 2012.06.07 |
---|---|
Kurogo Tutorial 17 - Calendar Module - (0) | 2012.06.01 |
Kurogo Tutorial 16 - Database Access - (0) | 2012.05.30 |
Kurogo Tutorial 14 - Handling Requests - (0) | 2012.05.23 |
Kurogo Tutorial 13 - Localization - (0) | 2012.05.22 |
Kurogo Tutorial 11 - News Module - (0) | 2012.05.17 |
Kurogo Tutorial 10 - Module 만들기 - (0) | 2012.05.13 |
Kurogo Tutorial 09 - MAP Module - (0) | 2012.05.12 |
Kurogo Tutorial 08 - Configuration- (1) | 2012.05.11 |
Kurogo Tutorial 07 - Device Detection - (0) | 2012.05.09 |