6月
13
2011
13
2011
log4phpの使い方
概要
みなさんは、どのような方法でログの出力を行っていますか?
PHPでログを出力する方法には、主に次の5通りの方法があります。
ここでは、ログファイルのローテートができ、log4jでも実績のあるlog4phpについて、
使い方を説明します。
- error_log()関数
- syslog()関数
- PEAR::log
- log4php
- Zend_Log
インストール
wget http://ftp.kddilabs.jp/infosystems/apache//logging/log4php/2.0.0/apache-log4php-2.0.0-incubating-src.tar.gz tar xfz apache-log4php-2.0.0-incubating-src.tar.gz mv apache-log4php-2.0.0-incubating/src/main/php/ lib/log4php rm -rf apache-log4php-2.0.0-incubating rm apache-log4php-2.0.0-incubating-src.tar.gz
設定ファイル作成
log4php.rootLogger=DEBUG log4php.logger.www=DEBUG,www_file log4php.appender.www_file = LoggerAppenderDailyFile log4php.appender.www_file.layout = LoggerLayoutPattern log4php.appender.www_file.layout.ConversionPattern="%d [%p] %c: %m (at %F line %L)%n" log4php.appender.www_file.datePattern = Ymd log4php.appender.www_file.file = /twidema.info/work/log/www_log.%s log4php.logger.batch=DEBUG,other_file log4php.appender.other_file = LoggerAppenderDailyFile log4php.appender.other_file.layout = LoggerLayoutPattern log4php.appender.other_file.layout.ConversionPattern="%d [%p] %c: %m (at %F line %L)%n" log4php.appender.other_file.datePattern = Ymd log4php.appender.other_file.file = /twidema.info/work/log/batch_log.%s
サンプルプログラム
require_once( $cfg['lib_dir'] . 'log4php/Logger.php'); Logger::configure($cfg['config_dir'] . 'log4php.properties'); $log = Logger::getLogger('www'); $log->debug('debug'); $log->info('info'); $log->warn('warn'); $log->error('error'); $log->fatal('fatal');