¶óÀÌÅÍ´Â,Zend_Log_Writer_Abstract
(À»)¸¦ °è½ÂÇÑ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.¶óÀÌÅÍÀÇ ¿ªÇÒÀº,
·Î±×ÀÇ µ¥ÀÌÅ͸¦ ¿¬±¸ ÃÖÁ¾ ´Ü°èÀÇ ½ºÅ丮Áö¿¡ ±â·ÏÇÏ´Â °ÍÀÔ´Ï´Ù.
Zend_Log_Writer_Stream
(Àº)´Â, ·Î±× µ¥ÀÌÅ͸¦
PHP ÀÇ ½ºÆ®¸²
¿¡ ½á³À´Ï´Ù.
·Î±×ÀÇ µ¥ÀÌÅ͸¦ PHP ÀÇ Ãâ·Â ¹öÆÛ¿¡ ½á³»·Á¸é ,URL php://output
(À»)¸¦ »ç¿ëÇÕ´Ï´Ù.ÇÑÆí, ·Î±×ÀÇ µ¥ÀÌÅ͸¦ Á÷Á¢ STDERR
(¿Í)°ú °°Àº ½ºÆ®¸²¿¡ º¸³¾ ¼öµµ ÀÖ½À´Ï´Ù (php://stderr
).
<?php
$writer = new Zend_Log_Writer_Stream('php://output');
$logger = new Zend_Log($writer);
$logger->info('Informational message');
µ¥ÀÌÅ͸¦ ÆÄÀÏ¿¡ ½á³»·Á¸é , ÆÄÀÏ ½Ã½ºÅÛ URL ÀÇ ¾î´ÀÂÊÀ̵çÀ» »ç¿ëÇÕ´Ï´Ù.
<?php
$writer = new Zend_Log_Writer_Stream('/path/to/logfile');
$logger = new Zend_Log($writer);
$logger->info('Informational message');
µðÆúÆ®¿¡¼´Â, ½ºÆ®¸²À» µ¡ºÙ¿© ¾¸ ¸ðµå ("a"
) ±×¸®°í ¿ÀÇÂÇÕ´Ï´Ù.
´Ù¸¥ ¸ðµå·Î ¿ÀÇÂÇÏ·Á¸é ,Zend_Log_Writer_Stream
ÀÇ constructor¡¡ ¡¡ À¸·Î µÎ¹øÂ°ÀÇ ¿É¼Ç Àμö¿¡ ¸ðµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
Zend_Log_Writer_Stream
ÀÇ constructor¡¡ ¡¡ ¿¡´Â,
±âÁ¸ÀÇ ½ºÆ®¸² ÀÚ¿øÀ» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
<?php
$stream = @fopen('/path/to/logfile', 'a', false);
if (! $stream) {
throw new Exception('½ºÆ®¸²ÀÇ ¿ÀÇ¿¡ ½ÇÆÐÇß½À´Ï´Ù');
}
$writer = new Zend_Log_Writer_Stream($stream);
$logger = new Zend_Log($writer);
$logger->info('ÅëÁö ¸Þ¼¼Áö');
±âÁ¸ÀÇ ½ºÆ®¸² ÀÚ¿ø¿¡ ´ëÇØ¼ ¸ðµå¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
ÁöÁ¤ÇÏ·Á°í Çϸé Zend_Log_Exception
(À»)¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
Zend_Log_Writer_Db
(Àº)´Â,
Zend_Db
(À»)¸¦ »ç¿ëÇØ ·Î±× Á¤º¸¸¦ µ¥ÀÌŸº£À̽º¿¡ ½á³À´Ï´Ù.
Zend_Log_Writer_Db
ÀÇ constructor¡¡ ¡¡ ¿¡´Â
Zend_Db_Adapter
ÀÇ ÀνºÅϽº, Å×À̺í¸í
¹× µ¥ÀÌŸº£À̽ºÀÇ Ä÷³°ú À̺¥Æ® µ¥ÀÌÅÍ Ç׸ñ°úÀÇ ´ëÀÀÀ» ÁöÁ¤ÇÕ´Ï´Ù.
columns to event data items:
<?php
$params = array ('host' => '127.0.0.1',
'username' => 'malory',
'password' => '******',
'dbname' => 'camelot');
$db = Zend_Db::factory('PDO_MYSQL', $params);
$columnMapping = array('lvl' => 'priority', 'msg' => 'message');
$writer = new Zend_Log_Writer_Db($db, 'log_table_name', $columnMapping);
$logger = new Zend_Log($writer);
$logger->info('ÅëÁö ¸Þ¼¼Áö');
À§ÀÇ ¿¹´Â, ÀÏÇà ¸¸ÅÀÇ ·Î±× µ¥ÀÌÅ͸¦ log_table_name
(ÀÌ)¶ó´Â À̸§ÀÇ Å×ÀÌºí¿¡ ½á³À´Ï´Ù.µ¥ÀÌŸº£À̽ºÀÇ Ä÷³
lvl
¿¡´Â ¿ì¼±µµÀÇ ¹øÈ£°¡ °Ý³³µÇ¾îmsg
±×·¸´Ù°í ÇÏ´Â Ä÷³¿¡ ·Î±×ÀÇ ¸Þ¼¼Áö°¡ °Ý³³µË´Ï´Ù.
Zend_Log_Writer_Null
(Àº)´Â ±×·çÅͱâ·Î, ·Î±× µ¥ÀÌÅ͸¦ ¾îµð¿¡µµ ½á³»Áö ¾Ê½À´Ï´Ù.
À̰ÍÀº, ·Î±× Ãâ·ÂÀ» ¹«È¿·Î Çϰųª Å×½ºÆ®½Ã µî¿¡ Æí¸®ÇÕ´Ï´Ù.
<?php
$writer = new Zend_Log_Writer_Null;
$logger = new Zend_Log($writer);
// ¾îµð¿¡µµ Ãâ·ÂµÇÁö ¾Ê½À´Ï´Ù
$logger->info('ÅëÁö ¸Þ¼¼Áö');
Zend_Log_Writer_Mock
(Àº)´Â ¸Å¿ì ½ÉÇÃÇÑ ¶óÀÌÅÍÀÔ´Ï´Ù.
¹ÞÀº »ýÀÇ µ¥ÀÌÅ͸¦ ¹è¿¿¡ °Ý³³ÇØ, ±×°ÍÀ» public ÇÁ·ÓÆÛƼ·Î¼ °ø°³ÇÕ´Ï´Ù.
<?php
$mock = new Zend_Log_Writer_Mock;
$logger = new Zend_Log($mock);
$logger->info('ÅëÁö ¸Þ¼¼Áö');
var_dump($mock->events[0]);
// Array
// (
// [timestamp] => 2007-04-06T07:16:37-07:00
// [message] => ÅëÁö ¸Þ¼¼Áö
// [priority] => 6
// [priorityName] => INFO
// )
¸ñÅ©°¡ ±â·ÏÇÑ À̺¥Æ®¸¦ ¼Ò°ÅÇÏ·Á¸é , ´Ü¼øÇÏ°Ô $mock->events = array()
(À¸)·Î ÇÕ´Ï´Ù.
ÇÕ¼º ¶óÀÌÅÍ ¿ÀºêÁ§Æ®´Â ¾ø½À´Ï´Ù.
±×·¯³ª, ·Î±×ÀÇ ÀνºÅϽº´Â ÀÓÀÇÀÇ ¼öÀÇ ¶óÀÌÅÍ¿¡ ½á³¾ ¼ö ÀÖ½À´Ï´Ù.±×·¯±â À§Çؼ´Â
addWriter()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
<?php
$writer1 = new Zend_Log_Writer_Stream('/path/to/first/logfile');
$writer2 = new Zend_Log_Writer_Stream('/path/to/second/logfile');
$logger = new Zend_Log();
$logger->addWriter($writer1);
$logger->addWriter($writer2);
// ¾çÂÊ ¸ðµÎÀÇ ¶óÀÌÅÍ¿¡ ½á³»Áý´Ï´Ù
$logger->info('ÅëÁö ¸Þ¼¼Áö');