Zend_Log
(Àº)´Â, ·Î±× Ãâ·Â¿ëÀÇ ¹ü¿ë ÄÄÆÛ³ÍÆ®ÀÔ´Ï´Ù.
º¹¼öÀÇ ¿¬±¸ ÃÖÁ¾ ´Ü°è¿¡ ´ëÀÀÇϰí ÀÖ¾î, ·Î±×¿¡ Ãâ·ÂÇÏ´Â ¸Þ¼¼Áö¸¦ Æ÷¸Ë Çϰųª
±â·ÏÇÏ´Â ¸Þ¼¼Áö¸¦ ÇÊÅ͸µ Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ ÇÔ¼ö´Â, ÀÌÇÏÀÇ ¿ÀºêÁ§Æ®·Î ³ª´ ¼ö ÀÖ°í ÀÖ½À´Ï´Ù.
·Î±× (Zend_Log
ÀÇ ÀνºÅϽº) (Àº)´Â,
¾îÇø®ÄÉÀ̼dz»¿¡¼ °¡Àå ÀÚÁÖ(Àß) »ç¿ëÇÏ´Â ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.
¸î¿¡¼µµ ¼Ò¸ÁÀÇ ¼ö¸¸ÀÇ ·Î±× ¿ÀºêÁ§Æ®¸¦ º¸°ü À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×°ÍµéÀÌ ¼·Î ¼·Î ¿µÇâÀ» ÁÙ °ÍÀº ¾ø½À´Ï´Ù.
·Î±× ¿ÀºêÁ§Æ®¿¡´Â ÃÖÀú ÇϳªÀÇ ¶óÀÌÅͰ¡ Æ÷Ç﵃ Çʿ䰡 ÀÖ¾î,
¿É¼ÇÀ¸·Î Çϳª ȤÀº º¹¼öÀÇ ÇÊÅ͸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶óÀÌÅÍ (Zend_Log_Writer_Abstract
(À»)¸¦ °è½ÂÇÑ °Í)
(Àº)´Â, µ¥ÀÌÅ͸¦ º¸Á¸ÇÏ´Â ¿ªÇÒÀ» ¸Ã½À´Ï´Ù.
ÇÊÅÍ (Zend_Log_Filter_Interface
(À»)¸¦ ½ÇÀåÇÑ °Í)
(Àº)´Â, º¸Á¸ÇÏ´Â ·Î±× µ¥ÀÌÅ͸¦ ºí·Ï ÇÕ´Ï´Ù.
ÇÊÅÍ´Â °³°³ÀÇ ¶óÀÌÅÍ¿¡ Àû¿ëÇÒ ¼öµµ ÀÖ°í,
·Î±×¿¡ Àû¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.·Î±×¿¡ Àû¿ëÇßÀ» °æ¿ì´Â,
¸ðµç ¶óÀÌÅÍÀÇ Àü¿¡ Àû¿ëµË´Ï´Ù.¾î´À ÂÊÀÇ °æ¿ì¿¡ ´ëÇØ¼µµ,
º¹¼öÀÇ ÇÊÅ͸¦ ¿¬°áÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.
Æ÷¸ÅÅÍ (Zend_Log_Formatter_Interface
(À»)¸¦ ½ÇÀåÇÑ °Í)
(Àº)´Â, ·Î±×ÀÇ µ¥ÀÌÅ͸¦ ¶óÀÌÅÍ¿¡ ½á³»±â Àü¿¡ ¼½Ä ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
°³°³ÀÇ ¶óÀÌÅÍ´Â, °¢°¢ ÇϳªÀÇ Æ÷¸ÅÅ͸¦ º¸°ü À¯ÁöÇϰí ÀÖ½À´Ï´Ù.
·Î±×ÀÇ ±â·ÏÀ» °³½ÃÇÏ·Á¸é , ¶óÀÌÅÍÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇØ, ±×°ÍÀ» ·Î±×ÀÇ ÀνºÅϽº¿¡ °Ç³×ÁÝ´Ï´Ù.
<?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);
À̰ÍÀ¸·Î, ·Î±×¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù.
¸Þ¼¼Áö¸¦ ·Î±×¿¡ ±â·ÏÇÏ·Á¸é , ·Î±×ÀÇ ÀνºÅϽºÀÇ 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');
·Î±× ¿ÀºêÁ§Æ®°¡ ºÒÇÊ¿äÇÏ°Ô µÇ¸é, ·Î±× ¿ÀºêÁ§Æ®¸¦ °¡¸®Å°´Â º¯¼ö¿¡
null
(À»)¸¦ ´ëÀÔÇØ ±×°ÍÀ» ÆÄ±âÇսôÙ.À̰ÍÀº,
¾ÆÅ¿Ä¡ µÇ°í ÀÖ´Â °¢ ¶óÀÌÅÍÀÇ ÀνºÅϽº ¸Þ¼Òµå
shutdown()
(À»)¸¦ ÄÝ ÇÏ°í ³ª¼ ·Î±× ¿ÀºêÁ§Æ®¸¦ ÆÄ±âÇÕ´Ï´Ù.
<?php
$logger = null;
ÀÌ¿Í °°ÀÌ ¸í½ÃÀûÀ¸·Î ·Î±×¸¦ ÆÄ±âÇÏ´Â °ÍÀº Çʼö°¡ ¾Æ´Õ´Ï´Ù. PHP ÀÇ Á¾·á½Ã¿¡, ÀÌ Ã³¸®°¡ ÀÚµ¿ÀûÀ¸·Î ÇàÇØÁý´Ï´Ù.
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
º¸´Ù ³·Àº ¿ì¼±µµ¸¦ Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¸Þ¼¼Áö¸¦ ·Î±×¿¡ ±â·ÏÇÒ ¶§ , ÀÌ ¿ì¼±µµÀÇ °èÃþ¿¡ ÁÖÀÇÇØ, ÀûÀýÇÑ °ÍÀ» ¼±ÅÃÇϵµ·Ï ÇսôÙ.
À¯Àú Á¤ÀÇÀÇ ¿ì¼±µµ¸¦ ½ÇÇà½Ã¿¡ Ãß°¡ÇÏ·Á¸é , ·Î±×ÀÇ
addPriority()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
<?php
$logger->addPriority('FOO', 8);
À§ÀÇ ¿¹¿¡¼´Â, »õ·Î¿î ¿ì¼±µµ FOO
(À»)¸¦
8
±×·¸´Ù°í ÇÏ´Â °ªÀ¸·Î Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.À̰ÍÀ¸·Î, ´ÙÀ½°ú °°ÀÌ ÇØ »õ·Î¿î ¿ì¼±µµ·Î ·Î±× Ãâ·ÂÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
<?php
$logger->log('Foo message', 8);
$logger->foo('Foo Message');
»õ·Î¿î ¿ì¼±µµ´Â, ±âÁ¸ÀÇ °ÍÀ» µ¡¾²±âÇÒ ¼ö ¾ø½À´Ï´Ù.
log()
¸Þ¼Òµå³ª ±× µ¿·á¸¦ ÄÝ ÇßÀ» ¶§¿¡,
·Î±×ÀÇ À̺¥Æ®°¡ ÀÛ¼ºµË´Ï´Ù.À̰ÍÀº ´Ü¼øÇÑ ¿¬»ó ¹è¿·Î,
¶óÀÌÅÍ¿¡°Ô °Ç³×Áö´Â À̺¥Æ®ÀÇ ³»¿ëÀ» ³ªÅ¸³À´Ï´Ù.ÀÌ ¹è¿¿¡´Â,
timestamp
,message
,priority
¹×
priorityName
ÀÇ Å°°¡ Ç×»ó Á¸ÀçÇÕ´Ï´Ù.
event
¹è¿ÀÇ ÀÛ¼ºÀº ¿ÏÀüÇÏ°Ô Åõ°úÀûÀÔ´Ï´Ù.
±×·¯³ª,event
¹è¿¿¡ ´ëÇØ ¾Ë¾Æ µÎÁö ¾ÊÀ¸¸é
À§¿¡¼ ³ªÅ¸³» º¸ÀÎ ±âÁ¸¼¼Æ®¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â Ç׸ñÀ» Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù.
Àå·¡ÀÇ À̺¥Æ®¿¡ ´ëÇØ Ç×»ó Æ¯Á¤ÀÇ Ç׸ñÀ» Ãß°¡Çϵµ·Ï(µíÀÌ) ÇÏ·Á¸é ,
setEventItem()
¸Þ¼Òµå¸¦ ÄÝ ÇØ Ű¿Í °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù.
<?php
$logger->setEventItem('pid', getmypid());
À§ÀÇ ¿¹´Â,pid
(ÀÌ)¶ó´Â À̸§ÀÇ »õ·Î¿î Ç׸ñÀ» ÀÛ¼ºÇØ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ
PID (À»)¸¦ °Ý³³ÇÕ´Ï´Ù.»õ·Î¿î °ªÀÌ ¼³Á¤µÇ¸é, ´Ù¸¥ ¸ðµç À̺¥Æ® µ¥ÀÌÅÍ¿Í °°°Ô
¸ðµç ¶óÀÌÅͷκÎÅÍ ÀÚµ¿ÀûÀ¸·Î ¾×¼¼½º °¡´ÉÇØÁý´Ï´Ù.Ç׸ñÀ» µ¡¾²±âÇÏ·Á¸é ,
Çѹø ´õ ÁÁ¾ÆÇÏ´Â ¶§¿¡ setEventItem()
¸Þ¼Òµå¸¦ ÄÝ ÇÕ´Ï´Ù.
»õ·Î¿î À̺¥Æ® Ç׸ñÀ» setEventItem()
±×¸®°í ¼³Á¤Çϸé,
·Î°¡-ÀÇ ¸ðµç ¶óÀÌÅÍ¿¡ »õ·Î¿î Ç׸ñÀ» ¼Û½ÅÇÕ´Ï´Ù.±×·¯³ª,
À̰ÍÀº ±×·¯ÇÑ ¶óÀÌÅͰ¡ ½ÇÁ¦·Î ±× Ç׸ñÀ» ½á³»´Â °ÍÀ» º¸ÁõÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù.
Æ÷¸ÅÅÍ ¿ÀºêÁ§Æ®°¡ ±× »õ·Î¿î Ç׸ñÀ» °¡¸£Ä¡Áö ¾Ê´Â ÀÌ»ó
¶óÀÌÅÍ´Â ±×°ÍÀ» ¾î¶»°Ô Ãë±ÞÇØµµ ÁÁÀº °ÍÀÎÁö ¸ð¸£±â ¶§¹®ÀÔ´Ï´Ù.
ÇÑÃþ ´õ ÀÚ¼¼ÇÏ°Ô ¹è¿ì·Á¸é , Æ÷¸ÅÅÍÀÇ ¸¶µð¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.