Joomla! の拡張機能を開発しています。現時点では、3.0 互換にしようとしています - 3.0 と同様に、ロギングが少し変更されました (*)。この関連する質問 からの回答に基づいて、現在のコードは次のようになります。
JLog::addLogger(array(
'text_file' => 'plg_system_myplg.log.php'
));
JLog::add('blah blah log msg');
問題は、ログがユーザーに表示されるメッセージにも移動することです-これを防ぎたいのですが、ログメッセージのみをログファイルに移動したいのです。JLog::add
3番目の(オプションの)パラメータとして取る「カテゴリ」に関係していると思いますが、そこに何を渡すかわかりませんか?
メッセージを非表示にする方法を誰かに教えてもらえますか? または、カテゴリが正しいかどうか、どの値を使用する必要があるか教えてもらえますか?
ありがとう!
(*) 実は今まで集めた限りでは1.7で既に変わっていたのですがJLog::getInstance(...)
、2.5から3.0では、戻り時にaddEntryを呼び出す古いメソッドが削除されたようです。
編集:私は今方法を見つけたと思います。使用:
JLog::addLogger(array(
'text_file' => 'plg_system_myplg.log.php',
JLog::ALL,
'myplg'
));
JLog::add('blah blah log msg', JLog::INFO, 'myplg');
すべてのログ エントリはログ ファイルにのみ記録されます (ユーザーに表示されるメッセージには記録されません)。ただし、非推奨の警告もいくつか表示されます。1 つは私のコードに関するものですが、関連のない警告もいくつかあります。
WARNING deprecated JAccess::getActions is deprecated. Use JAccess::getActionsFromFile or JAcces::getActionsFromData instead.
WARNING deprecated JSubMenuHelper::getEntries() is deprecated. Use JHtmlSidebar::getEntries() instead.
WARNING deprecated JSubMenuHelper::getFilters() is deprecated. Use JHtmlSidebar::getFilters() instead.
WARNING deprecated JSubMenuHelper::getAction() is deprecated. Use JHtmlSidebar::getAction() instead.
それらをどうすればよいかわからない - 私のログファイルに表示されるのはなぜですか?