6月
13
2011

log4phpの使い方

概要

みなさんは、どのような方法でログの出力を行っていますか?

PHPでログを出力する方法には、主に次の5通りの方法があります。
ここでは、ログファイルのローテートができ、log4jでも実績のあるlog4phpについて、
使い方を説明します。

  1. error_log()関数
  2. syslog()関数
  3. PEAR::log
  4. log4php
  5. 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');

参考

http://logging.apache.org/log4php/docs/introduction.html

コメントする

メールアドレスは公開されません。

このエントリーをはてなブックマークに追加