Á¦23Àå Zend_Log

¸ñÂ÷

23.1. °³¿ä
23.1.1. ·Î±×ÀÇ ÀÛ¼º
23.1.2. ¸Þ¼¼ÁöÀÇ ±â·Ï
23.1.3. ·Î±×ÀÇ ÆÄ±â
23.1.4. ÆíÀÔÀÇ ¿ì¼±µµÀÇ »ç¿ë
23.1.5. À¯Àú Á¤ÀÇÀÇ ¿ì¼±µµÀÇ Ãß°¡
23.1.6. ·Î±×ÀÇ À̺¥Æ®¿¡ ´ëÇØ ÀÌÇØÇÑ´Ù
23.2. ¶óÀÌÅÍ
23.2.1. ½ºÆ®¸²¿¡ÀÇ ½á³»
23.2.2. µ¥ÀÌŸº£À̽º¿¡ÀÇ ½á³»
23.2.3. ¶óÀÌÅÍÀÇ ±×·çÅͱâ
23.2.4. ¸ñÅ©¿¡ ÀÇÇÑ Å×½ºÆ®
23.2.5. ¶óÀÌÅ͸¦ Á¶ÇÕÇÑ´Ù
23.3. Æ÷¸ÅÅÍ
23.3.1. ´Ü¼øÇÑ Æ÷¸Ë
23.3.2. XML ¿¡ÀÇ Æ÷¸Ë
23.4. ÇÊÅÍ
23.4.1. ¸ðµç ¶óÀÌÅÍ¿¡ ´ëÇÑ ÇÊÅ͸µ
23.4.2. ¶óÀÌÅÍÀÇ ÀνºÅϽº¿¡ ´ëÇÑ ÇÊÅ͸µ

23.1. °³¿ä

Zend_Log (Àº)´Â, ·Î±× Ãâ·Â¿ëÀÇ ¹ü¿ë ÄÄÆÛ³ÍÆ®ÀÔ´Ï´Ù. º¹¼öÀÇ ¿¬±¸ ÃÖÁ¾ ´Ü°è¿¡ ´ëÀÀÇϰí ÀÖ¾î, ·Î±×¿¡ Ãâ·ÂÇÏ´Â ¸Þ¼¼Áö¸¦ Æ÷¸Ë Çϰųª ±â·ÏÇÏ´Â ¸Þ¼¼Áö¸¦ ÇÊÅ͸µ Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö´Â, ÀÌÇÏÀÇ ¿ÀºêÁ§Æ®·Î ³ª´­ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù.

  • ·Î±× (Zend_Log ÀÇ ÀνºÅϽº) (Àº)´Â, ¾îÇø®ÄÉÀ̼dz»¿¡¼­ °¡Àå ÀÚÁÖ(Àß) »ç¿ëÇÏ´Â ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ¸î¿¡¼­µµ ¼Ò¸ÁÀÇ ¼ö¸¸ÀÇ ·Î±× ¿ÀºêÁ§Æ®¸¦ º¸°ü À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×°ÍµéÀÌ ¼­·Î ¼­·Î ¿µÇâÀ» ÁÙ °ÍÀº ¾ø½À´Ï´Ù. ·Î±× ¿ÀºêÁ§Æ®¿¡´Â ÃÖÀú ÇϳªÀÇ ¶óÀÌÅͰ¡ Æ÷Ç﵃ Çʿ䰡 ÀÖ¾î, ¿É¼ÇÀ¸·Î Çϳª ȤÀº º¹¼öÀÇ ÇÊÅ͸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • ¶óÀÌÅÍ (Zend_Log_Writer_Abstract (À»)¸¦ °è½ÂÇÑ °Í) (Àº)´Â, µ¥ÀÌÅ͸¦ º¸Á¸ÇÏ´Â ¿ªÇÒÀ» ¸Ã½À´Ï´Ù.

  • ÇÊÅÍ (Zend_Log_Filter_Interface (À»)¸¦ ½ÇÀåÇÑ °Í) (Àº)´Â, º¸Á¸ÇÏ´Â ·Î±× µ¥ÀÌÅ͸¦ ºí·Ï ÇÕ´Ï´Ù. ÇÊÅÍ´Â °³°³ÀÇ ¶óÀÌÅÍ¿¡ Àû¿ëÇÒ ¼öµµ ÀÖ°í, ·Î±×¿¡ Àû¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.·Î±×¿¡ Àû¿ëÇßÀ» °æ¿ì´Â, ¸ðµç ¶óÀÌÅÍÀÇ Àü¿¡ Àû¿ëµË´Ï´Ù.¾î´À ÂÊÀÇ °æ¿ì¿¡ ´ëÇØ¼­µµ, º¹¼öÀÇ ÇÊÅ͸¦ ¿¬°áÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.

  • Æ÷¸ÅÅÍ (Zend_Log_Formatter_Interface (À»)¸¦ ½ÇÀåÇÑ °Í) (Àº)´Â, ·Î±×ÀÇ µ¥ÀÌÅ͸¦ ¶óÀÌÅÍ¿¡ ½á³»±â Àü¿¡ ¼­½Ä ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. °³°³ÀÇ ¶óÀÌÅÍ´Â, °¢°¢ ÇϳªÀÇ Æ÷¸ÅÅ͸¦ º¸°ü À¯ÁöÇϰí ÀÖ½À´Ï´Ù.

23.1.1. ·Î±×ÀÇ ÀÛ¼º

·Î±×ÀÇ ±â·ÏÀ» °³½ÃÇÏ·Á¸é , ¶óÀÌÅÍÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇØ, ±×°ÍÀ» ·Î±×ÀÇ ÀνºÅϽº¿¡ °Ç³×ÁÝ´Ï´Ù.


<?php
$logger 
= new Zend_Log();
$writer = new Zend_Log_Writer_Stream('php://output');

$logger->addWriter($writer);

ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº, ·Î±×¿¡´Â ÃÖÀú ÇϳªÀÇ ¶óÀÌÅͰ¡ ÇÊ¿äÇÏ´Ù¶ó°í ¸»ÇÏ´Â °ÍÀÔ´Ï´Ù. ¶óÀÌÅÍ´Â ÁÁ¾ÆÇÏ´Â ¼ö¸¸Å­ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.Ãß°¡ÇÏ·Á¸é ·Î±×ÀÇ addWriter() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.

ÇÑÆí, ·Î±×ÀÇ constructor¡¡ ¡¡ À¸·Î Á÷Á¢ ¶óÀÌÅ͸¦ ÁöÁ¤ÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù.


<?php
$writer 
= new Zend_Log_Writer_Stream('php://output');
$logger = new Zend_Log($writer);

À̰ÍÀ¸·Î, ·Î±×¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.

23.1.2. ¸Þ¼¼ÁöÀÇ ±â·Ï

¸Þ¼¼Áö¸¦ ·Î±×¿¡ ±â·ÏÇÏ·Á¸é , ·Î±×ÀÇ ÀνºÅϽºÀÇ log() ¸Þ¼Òµå¸¦ ½ÇÇàÇØ, ¸Þ¼¼Áö¿Í ¿ì¼±µµ¸¦ °Ç³×ÁÝ´Ï´Ù.


<?php
$logger
->log('Informational message'Zend_Log::INFO);

log() ¸Þ¼ÒµåÀÇ ÃÖÃÊÀÇ ÆÄ¶ó¹ÌÅÍ´Â ¸Þ¼¼Áö¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¿­·Î, µÎ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅÍ´Â ¿ì¼±µµ¸¦ ³ªÅ¸³»´Â Á¤¼öÄ¡ÀÔ´Ï´Ù. ¿ì¼±µµ´Â, ·Î±×ÀÇ ÀνºÅϽº¸¦ ÀÌÇØÇÒ ¼ö ÀÖ´Â Çü½ÄÀÇ °ªÀÇ ¾ðÁ¨°¡°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. À̰Ϳ¡ ´ëÇØ¼­´Â ´ÙÀ½ÀÇ ¸¶µð·Î ¼³¸íÇÕ´Ï´Ù.

ÀÌÂʵµ ´Ù¸¥ ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.log() ¸Þ¼Òµå¸¦ ÄÝ ÇÏ´Â ´ë½Å¿¡, ¿ì¼±µµ¿Í °°Àº À̸§ÀÇ ¸Þ¼Òµå¸¦ ÄÝ ÇÒ ¼ö ÀÖ½À´Ï´Ù.


<?php
$logger
->log('Informational message'Zend_Log::INFO);
$logger->info('Informational message');

$logger->log('Emergency message'Zend_Log::EMERG);
$logger->emerg('Emergency message');

23.1.3. ·Î±×ÀÇ ÆÄ±â

·Î±× ¿ÀºêÁ§Æ®°¡ ºÒÇÊ¿äÇÏ°Ô µÇ¸é, ·Î±× ¿ÀºêÁ§Æ®¸¦ °¡¸®Å°´Â º¯¼ö¿¡ null (À»)¸¦ ´ëÀÔÇØ ±×°ÍÀ» ÆÄ±âÇսôÙ.À̰ÍÀº, ¾ÆÅ¿Ä¡ µÇ°í ÀÖ´Â °¢ ¶óÀÌÅÍÀÇ ÀνºÅϽº ¸Þ¼Òµå shutdown() (À»)¸¦ ÄÝ ÇÏ°í ³ª¼­ ·Î±× ¿ÀºêÁ§Æ®¸¦ ÆÄ±âÇÕ´Ï´Ù.


<?php
$logger 
null;

ÀÌ¿Í °°ÀÌ ¸í½ÃÀûÀ¸·Î ·Î±×¸¦ ÆÄ±âÇÏ´Â °ÍÀº Çʼö°¡ ¾Æ´Õ´Ï´Ù. PHP ÀÇ Á¾·á½Ã¿¡, ÀÌ Ã³¸®°¡ ÀÚµ¿ÀûÀ¸·Î ÇàÇØÁý´Ï´Ù.

23.1.4. ÆíÀÔÀÇ ¿ì¼±µµÀÇ »ç¿ë

Zend_Log Ŭ·¡½º¿¡¼­´Â ÀÌÇÏÀÇ ¿ì¼±µµ¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.


EMERG   = 0;  // ±ä±Þ»çÅ (Emergency): ½Ã½ºÅÛÀÌ »ç¿ë ºÒ°¡´ÉÇÕ´Ï´Ù
ALERT   = 1;  // °æº¸ (Alert): ½Ã±ÞÈ÷ ´ëÀÀÀÌ ÇÊ¿äÇÕ´Ï´Ù
CRIT    = 2;  // À§±â (Critical): À§±âÀûÀÎ »óȲÀÔ´Ï´Ù
ERR     = 3;  // ¿¡·¯ (Error): ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù
WARN    = 4;  // °æ°í (Warning): °æ°í°¡ ¹ß»ýÇß½À´Ï´Ù
NOTICE  = 5;  // ÁÖÀÇ (Notice): Åë»ó µ¿ÀÛÀÔ´Ï´Ù¸¸, ÁÖÀÇÇØ¾ß ÇÒ »óȲÀÔ´Ï´Ù
INFO    = 6;  // Á¤º¸ (Informational): Á¤º¸ ¸Þ¼¼Áö
DEBUG   = 7;  // µð¹ö±× (Debug): µð¹ö±× ¸Þ¼¼Áö

ÀÌ·¯ÇÑ ¿ì¼±µµ´Â Ç×»ó »ç¿ë °¡´ÉÇϰí, °¢°¢ ºÙ¾î °°Àº À̸§ÀÇ ¸Þ¼Òµå°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ ¿ì¼±µµ´Â Àû´çÇÏ°Ô ÁöÁ¤ÇØ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ¾Æ·¡´Â BSD ÀÇ syslog ÇÁ·ÎÅäÄÝ¿¡ À¯·¡ÇÏ´Â °ÍÀ¸·Î, RFC-3164 ±×¸®°í ³ªÅ¸³ª°í ÀÖ½À´Ï´Ù.°¢°¢ÀÇ À̸§°ú ¿ì¼±µµ ¹øÈ£´Â,PHP ¿¡ À־ÀÇ ¶Ç ÇϳªÀÇ ·Î±× ±â·Ï ½Ã½ºÅÛÀÌ´Ù PEAR Log (¿Í)°úµµ ȣȯ¼ºÀÌ ÀÖ½À´Ï´Ù.¾Æ¸¶, À̰Ͱú Zend_Log (Àº)´Â »óÈ£ ¿î¿ëÇÒ ¼ö ÀÖ°ÚÁö¿ä.

¿ì¼±µµÀÇ ¼öÄ¡°¡ ÀÛÀ» Á¤µµ ¿ì¼±µµ°¡ ³ô¾ÆÁý´Ï´Ù.EMERG (0) ÇÏÁö¸¸ ÃÖ´ëÁß¿äÀÎ ¿ì¼±µµ·Î,DEBUG (7) ÇÏ ÆíÀÔÀÇ ¿ì¼±µµ Áß(¾È)¿¡¼­´Â °¡Àå ¿ì¼±µµ°¡ ³·Àº °ÍÀÔ´Ï´Ù. DEBUG º¸´Ù ³·Àº ¿ì¼±µµ¸¦ Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¸Þ¼¼Áö¸¦ ·Î±×¿¡ ±â·ÏÇÒ ¶§ , ÀÌ ¿ì¼±µµÀÇ °èÃþ¿¡ ÁÖÀÇÇØ, ÀûÀýÇÑ °ÍÀ» ¼±ÅÃÇϵµ·Ï ÇսôÙ.

23.1.5. À¯Àú Á¤ÀÇÀÇ ¿ì¼±µµÀÇ Ãß°¡

À¯Àú Á¤ÀÇÀÇ ¿ì¼±µµ¸¦ ½ÇÇà½Ã¿¡ Ãß°¡ÇÏ·Á¸é , ·Î±×ÀÇ addPriority() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.


<?php
$logger
->addPriority('FOO'8);

À§ÀÇ ¿¹¿¡¼­´Â, »õ·Î¿î ¿ì¼±µµ FOO (À»)¸¦ 8 ±×·¸´Ù°í ÇÏ´Â °ªÀ¸·Î Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.À̰ÍÀ¸·Î, ´ÙÀ½°ú °°ÀÌ ÇØ »õ·Î¿î ¿ì¼±µµ·Î ·Î±× Ãâ·ÂÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.


<?php
$logger
->log('Foo message'8);
$logger->foo('Foo Message');

»õ·Î¿î ¿ì¼±µµ´Â, ±âÁ¸ÀÇ °ÍÀ» µ¡¾²±âÇÒ ¼ö ¾ø½À´Ï´Ù.

23.1.6. ·Î±×ÀÇ À̺¥Æ®¿¡ ´ëÇØ ÀÌÇØÇÑ´Ù

log() ¸Þ¼Òµå³ª ±× µ¿·á¸¦ ÄÝ ÇßÀ» ¶§¿¡, ·Î±×ÀÇ À̺¥Æ®°¡ ÀÛ¼ºµË´Ï´Ù.À̰ÍÀº ´Ü¼øÇÑ ¿¬»ó ¹è¿­·Î, ¶óÀÌÅÍ¿¡°Ô °Ç³×Áö´Â À̺¥Æ®ÀÇ ³»¿ëÀ» ³ªÅ¸³À´Ï´Ù.ÀÌ ¹è¿­¿¡´Â, timestamp,message,priority ¹× priorityName ÀÇ Å°°¡ Ç×»ó Á¸ÀçÇÕ´Ï´Ù.

event ¹è¿­ÀÇ ÀÛ¼ºÀº ¿ÏÀüÇÏ°Ô Åõ°úÀûÀÔ´Ï´Ù. ±×·¯³ª,event ¹è¿­¿¡ ´ëÇØ ¾Ë¾Æ µÎÁö ¾ÊÀ¸¸é À§¿¡¼­ ³ªÅ¸³» º¸ÀÎ ±âÁ¸¼¼Æ®¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â Ç׸ñÀ» Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù.

Àå·¡ÀÇ À̺¥Æ®¿¡ ´ëÇØ Ç×»ó Æ¯Á¤ÀÇ Ç׸ñÀ» Ãß°¡Çϵµ·Ï(µíÀÌ) ÇÏ·Á¸é , setEventItem() ¸Þ¼Òµå¸¦ ÄÝ ÇØ Ű¿Í °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù.


<?php
$logger
->setEventItem('pid'getmypid());

À§ÀÇ ¿¹´Â,pid (ÀÌ)¶ó´Â À̸§ÀÇ »õ·Î¿î Ç׸ñÀ» ÀÛ¼ºÇØ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ PID (À»)¸¦ °Ý³³ÇÕ´Ï´Ù.»õ·Î¿î °ªÀÌ ¼³Á¤µÇ¸é, ´Ù¸¥ ¸ðµç À̺¥Æ® µ¥ÀÌÅÍ¿Í °°°Ô ¸ðµç ¶óÀÌÅͷκÎÅÍ ÀÚµ¿ÀûÀ¸·Î ¾×¼¼½º °¡´ÉÇØÁý´Ï´Ù.Ç׸ñÀ» µ¡¾²±âÇÏ·Á¸é , Çѹø ´õ ÁÁ¾ÆÇÏ´Â ¶§¿¡ setEventItem() ¸Þ¼Òµå¸¦ ÄÝ ÇÕ´Ï´Ù.

»õ·Î¿î À̺¥Æ® Ç׸ñÀ» setEventItem() ±×¸®°í ¼³Á¤Çϸé, ·Î°¡-ÀÇ ¸ðµç ¶óÀÌÅÍ¿¡ »õ·Î¿î Ç׸ñÀ» ¼Û½ÅÇÕ´Ï´Ù.±×·¯³ª, À̰ÍÀº ±×·¯ÇÑ ¶óÀÌÅͰ¡ ½ÇÁ¦·Î ±× Ç׸ñÀ» ½á³»´Â °ÍÀ» º¸ÁõÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. Æ÷¸ÅÅÍ ¿ÀºêÁ§Æ®°¡ ±× »õ·Î¿î Ç׸ñÀ» °¡¸£Ä¡Áö ¾Ê´Â ÀÌ»ó ¶óÀÌÅÍ´Â ±×°ÍÀ» ¾î¶»°Ô Ãë±ÞÇØµµ ÁÁÀº °ÍÀÎÁö ¸ð¸£±â ¶§¹®ÀÔ´Ï´Ù. ÇÑÃþ ´õ ÀÚ¼¼ÇÏ°Ô ¹è¿ì·Á¸é , Æ÷¸ÅÅÍÀÇ ¸¶µð¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.