拡張したLogクラスを改良して、掲載ソースを更新しました。
例えばdebugログの出力は
Log::debug('DEBUG');
となります。
これでも良いのですが、Logクラスは頻繁に使用するはずなので
Log::d('DEBUG');
のようにして使いたい。
という訳で、拡張します。
(1)
app/classes/log.phpを作成。
<?php class Log extends Fuel\Core\Log { public static function i($msg, $method = null) { if(!is_scalar($msg)) $msg = print_r($msg,true); return parent::info($msg, $method); } public static function d($msg, $method = null) { if(!is_scalar($msg)) $msg = print_r($msg,true); return parent::debug($msg, $method); } public static function w($msg, $method = null) { if(!is_scalar($msg)) $msg = print_r($msg,true); return parent::warning($msg, $method); } public static function e($msg, $method = null) { if(!is_scalar($msg)) $msg = print_r($msg,true); return parent::error($msg, $method); } }
(2)
app/bootstrap.phpのAutoloader::add_classesにapp/classes/log.phpを追加。
Autoloader::add_classes(array( // Add classes you want to override here // Example: 'View' => APPPATH.'classes/view.php', 'Log' => APPPATH.'classes/log.php', ));
(3)
これで、
Log::d('DEBUG');
とかで使用出来ます。
余談ですが、ログファイルへの出力ログレベルはapp/config/config.phpの'log_threshold'です。
環境別に切り替えるには、app/[環境別ディレクトリ]/config.phpを作成すればOKです。
return array( 'log_threshold' => Fuel::L_DEBUG, ); /* End of file config.php */今回は書いていませんが、'base_url'とかもここに入ってくるでしょう。
参考:
http://docs.fuelphp.com/general/extending_core.html
No comments:
Post a Comment