23.3. Æ÷¸ÅÅÍ

Æ÷¸ÅÅÍÀÇ ¿ªÇÒÀº,event ¹è¿­·ÎºÎÅÍ À̺¥Æ®ÀÇ ³»¿ëÀ» ¹Þ¾Æ, ±×°ÍÀ» ¹®ÀÚ¿­·Î¼­ Æ÷¸Ë ÇØ Ãâ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù.

¶óÀÌÅÍ¿¡ µû¶ó¼­´Â Çà ÁöÇâÀº ¾Æ´Ñ °Íµµ ÀÖ½À´Ï´Ù.±×·¯ÇÑ °æ¿ì´Â Æ÷¸ÅÅÍ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î µ¥ÀÌŸº£À̽º ¶óÀÌÅ͵îÀÌ ±× ¿¹·Î, À̰ÍÀº À̺¥Æ®ÀÇ Ç׸ñÀ» Á÷Á¢ µ¥ÀÌŸº£À̽ºÀÇ Ä÷³¿¡ ½á³À´Ï´Ù. Æ÷¸ÅÅ͸¦ ¼­Æ÷Æ®ÇÒ ¼ö ¾ø´Â ¶óÀÌÅÍ¿¡ ´ëÇØ¼­ Æ÷¸ÅÅ͸¦ ¼³Á¤ÇÏ·Á°í Çϸé, ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù.

23.3.1. ´Ü¼øÇÑ Æ÷¸Ë

Zend_Log_Formatter_Simple (Àº)´Â µðÆúÆ®ÀÇ Æ÷¸ÅÅÍÀÔ´Ï´Ù. À̰ÍÀº, ¾Æ¹«°Íµµ Æ÷¸ÅÅ͸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ì¿¡ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤µË´Ï´Ù. µðÆúÆ®ÀÇ ¼³Á¤Àº, ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.


<?php
$format 
'%timestamp% %priorityName% (%priority%): %message%' PHP_EOL;
$formatter = new Zend_Log_Formatter_Simple($format);

Æ÷¸ÅÅ͸¦ °³°³ÀÇ ¶óÀÌÅÍ ¿ÀºêÁ§Æ®¿¡ ´ëÇØ¼­ ¼³Á¤ÇÏ·Á¸é , ¶óÀÌÅÍÀÇ setFormatter() ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.


<?php
$writer 
= new Zend_Log_Writer_Stream('php://output');
$formatter = new Zend_Log_Formatter_Simple('hello %message%' PHP_EOL);
$writer->setFormatter($formatter);

$logger = new Zend_Log();
$logger->addWriter($writer);

$logger->info('there');

// "hello there" (¿Í)°ú Ãâ·ÂÇÕ´Ï´Ù

Zend_Log_Formatter_Simple ÀÇ constructor¡¡ ¡¡ ¿¡´Â, ÆÄ¶ó¹ÌÅͷμ­ ¼­½Ä ÁöÁ¤ ¹®ÀÚ¿­À» °Ç³×ÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®ÀÚ¿­¿¡´Â, ۸¦ ÆÛ¼¾Æ® ±âÈ£·Î µÑ·¯½Ñ °Í (·Ê. %message%) (À»)¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ¼­½Ä ÁöÁ¤ ¹®ÀÚ¿­¿¡´Â, À̺¥Æ® µ¥ÀÌÅÍÀÇ ¹è¿­ÀÇ ÀÓÀÇÀÇ Å°¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.

23.3.2. XML ¿¡ÀÇ Æ÷¸Ë

Zend_Log_Formatter_Xml (Àº)´Â, ·Î±×ÀÇ µ¥ÀÌÅ͸¦ XML ¹®ÀÚ¿­·Î º¯È¯ÇÕ´Ï´Ù. µðÆúÆ®¿¡¼­´Â, À̺¥Æ® µ¥ÀÌÅÍ ¹è¿­ÀÇ ¸ðµç Ç׸ñÀ» ÀÚµ¿ÀûÀ¸·Î ±â·ÏÇÕ´Ï´Ù.


<?php
$writer 
= new Zend_Log_Writer_Stream('php://output');
$formatter = new Zend_Log_Formatter_Xml();
$writer->setFormatter($formatter);

$logger = new Zend_Log();
$logger->addWriter($writer);

$logger->info('ÅëÁö ¸Þ¼¼Áö');

À§ÀÇ ÄÚµåÀÇ Ãâ·ÂÀº, ´ÙÀ½°ú °°Àº XML (ÀÌ)°¡ µË´Ï´Ù (°¡µ¶¼ºÀ» È®º¸Çϱâ À§ÇØ(¶§¹®¿¡) °ø¹éÀ» º¸ÃæÇϰí ÀÖ½À´Ï´Ù).


<logEntry>
  <timestamp>2007-04-06T07:24:37-07:00</timestamp>
  <message>ÅëÁö ¸Þ¼¼Áö</message>
  <priority>6</priority>
  <priorityName>INFO</priorityName>
</logEntry>

·çÆ® ¿ä¼Ò¸¦ º¯°æÇϰųªXML ÀÇ ¿ä¼Ò¸í°ú À̺¥Æ® µ¥ÀÌÅÍ ¹è¿­ÀÇ Ç׸ñ¸íÀÇ ´ëÀÀÀ» ÁöÁ¤Çϰųª ÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù. Zend_Log_Formatter_Xml ÀÇ constructor¡¡ ¡¡ ÀÇ ÃÖÃÊÀÇ ÆÄ¶ó¹ÌÅÍ¿¡´Â, ·çÆ® ¿ä¼ÒÀÇ À̸§À» ÁöÁ¤ÇÕ´Ï´Ù.¶Ç, µÎ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅÍ¿¡´Â ¿ä¼Ò¸íÀÇ ´ëÀÀÀ» ³ªÅ¸³»´Â ¿¬»ó ¹è¿­À» ÁöÁ¤ÇÕ´Ï´Ù.


<?php
$writer 
= new Zend_Log_Writer_Stream('php://output');
$formatter = new Zend_Log_Formatter_Xml('log', array('msg' => 'message''level' => 'priorityName'));
$writer->setFormatter($formatter);

$logger = new Zend_Log();
$logger->addWriter($writer);

$logger->info('ÅëÁö ¸Þ¼¼Áö');

À§ÀÇ ÄÚµå´Â, ·çÆ® ¿ä¼ÒÀÇ À̸§À» µðÆúÆ®ÀÇ logEntry (À¸)·ÎºÎÅÍ log (À¸)·Î º¯°æÇÕ´Ï´Ù.¶Ç, ¿ä¼Ò¸í msg (À»)¸¦ À̺¥Æ® µ¥ÀÌÅÍÀÇ Ç׸ñ message ¿¡ ´ëÀÀ½Ãŵ´Ï´Ù. Ãâ·Â °á°ú´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.


<log>
  <msg>ÅëÁö ¸Þ¼¼Áö</msg>
  <level>INFO</level>
</log>