log4phpでTwitterにポスト

昨日、自宅サーバの復旧をしていたら、php_serverって名前の仮想マシンが、その名前にも関わらず全くPHPが入っていないことに気がつき、とりあえずPHP開発環境を構築しておくかなと思ったら、いつの間にかlog4phptwitterにポストするAppenderが出来ていました。

Openpearにコミットしてみたので、興味のある方は使ってみてください!

準備

log4phpとZend_Service_Twitterに依存してるのでインストール

FrontPage - PHP Commonsから取得

$ sudo pear channel-discover phpcommons.sourceforge.jp/pear
$ sudo pear install commons/log4php-beta

  • Zend Framework

$ sudo pear channel-discover zend.googlecode.com/svn
$ sudo pear install zend/zend

Zend/Service/Twitter だけ取ってきてパスが通るところに配置でも良いです。

インストール

$ sudo pear channel-discover openpear.org
$ sudo pear install openpear/log4php_appenders_LoggerAppenderTweet-beta

使用例

  • PHPファイル
<?php
define('LOG4PHP_CONFIGURATION', './log4php.properties');
define('LOG4PHP_TWITTER_ID', '********');
define('LOG4PHP_TWITTER_PASSWORD', '*********');
require_once 'log4php/LoggerManager.php';

$logger = LoggerManager::getLogger('test');
$logger->debug('debug message');
$logger->info('info message');
$logger->warn('warn message');
$logger->error('error message');
$logger->fatal('fatal message');
  • 設定ファイル
log4php.rootLogger=DEBUG, R
log4php.appender.R=LoggerAppenderTweet
log4php.appender.R.layout=LoggerPatternLayout
log4php.appender.R.layout.ConversionPattern="%d [%p] %m %n"