SugarCRM - $GLOBALS['log']->info('hogehoge');とか書くのが面倒くさい

,

SugarCRMネタ。

Sugarの開発してると、ログ出力の場面に多々出くわすわけですが、

$GLOBALS['log']->info('hogehoge');

とか書くのが面倒くさいのです。長すぎるし、ソースがごちゃごちゃしてきます。
そこでログ出力を短く書けるように関数を作成。

function say($message, $level = '') {

global $log, $sugar_config;

if ( empty($level) ) $level = $sugar_config['logger']['level'];

switch ( $level ) {
case 'debug':
$log->info( var_export($message, true) );
break;
case 'info':
case 'warn':
case 'error':
case 'fatal':
$log->$level( $message );
break;
default:
$log->info( $message );
break;
}
}

第1引数に出力するメッセージを、第2引数にログ出力レベルを指定します。
レベルを省略した場合はシステムのログ出力レベルに合わせます。適当な出力レベルが指定された時はinfoで出力します。

say('lllloooogggg');
say('ERROR!! XD', 'error');