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

#php, #sugarcrm

SugarCRMネタ。

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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で出力します。

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