phpでlog4php
phpでログ出力!!
っと題して、phpでのログ出力は、いくつか方法があるみたい。
・PEAR::Log
・log4php(log4jの類似)
・error_log関数
orz..
今回は、log4phpを勉強。(@@)
Log4php本家よりphpライブラリをDLして、zipファイルを解凍し、解凍したフォルダをphp本体の配下にCopy..
パスを通すためphp.iniに下記を追加する。
include_path=".;C:\php\pear;C:\php\log4php"
設定ファイル(log4php.properties)を作成し、パスの通った場所に配置する。
log4php.properties
log4php.rootLogger=DEBUG, R log4php.appender.R=LoggerAppenderDailyFile log4php.appender.R.file=c:/php/log/%s.log log4php.appender.R.layout=LoggerLayoutSimple
実行PHP
<?php /** * プロパティファイルの指定 */ define('LOG4PHP_CONFIGURATION', 'log4php.properties'); require_once "LoggerManager.php"; ?> <?php /** * Loggerの取得 * スクリプト名をLogger名として渡す */ $logger =& LoggerManager::getLogger( basename($_SERVER['SCRIPT_NAME'])); /** * ログの出力 */ $logger->debug('DEBUGメッセージです'); $logger->info('INFOメッセージです'); $logger->warn('WARNメッセージです'); $logger->error('ERRORメッセージです'); $logger->fatal('FATALメッセージです'); /** * シャットダウン */ LoggerManager::shutdown(); ?>
出力結果
DEBUG - DEBUGメッセージです INFO - INFOメッセージです WARN - WARNメッセージです ERROR - ERRORメッセージです
ログのフォーマット変更
log4php.propertiesを下記のように変更する。log4php.rootLogger=DEBUG, R log4php.appender.R=LoggerAppenderDailyFile log4php.appender.R.file=c:/php/log/%s.log log4php.appender.R.layout=LoggerPatternLayout log4php.appender.R.layout.ConversionPattern=%d ::%-5p - %m%n
出力結果
2009-04-28 10:52:01,623 ::INFO - INFOメッセージです 2009-04-28 10:52:01,623 ::WARN - WARNメッセージです 2009-04-28 10:52:01,623 ::ERROR - ERRORメッセージです 2009-04-28 10:52:01,623 ::FATAL - FATALメッセージです
【参考サイト】
http://www.doyouphp.jp/tips/tips_log4php.shtml
http://labs.unoh.net/2007/05/php-logging-to-text-files.html