magento
ファイルへのロギング
サーチ…
構文
- public静的関数ログ($ message、$ level = null、$ file = ''、$ forceLog = false)
パラメーター
パラメータ | 詳細 |
---|---|
string $ message | ログに記録されるメッセージ |
整数$レベル | ログレベル |
文字列$ file | var/log/ 保存されるファイルの拡張子を持つパスと名前。 NULLまたは指定されていない場合は、 system.log が使用されます。 |
bool $ forceLog | TRUE 設定すると、開発者モードがオフでロギングが非アクティブであってもログが書き込まれます。 |
備考
開発者モードがアクティブでない限り、ロギングはデフォルトでオフになっています。
すべての例外は、コンフィグレーションでロギングが有効になっている場合でも、 exceptions.log
記録されます。
ロギングは、Magento Adminにログインして以下の手順で有効にすることができます。
- システム>設定(トップバー)
- 開発者(左メニュー)
- ログ設定セクション
- [
Enabled
]ドロップダウンリストから[はい]を選択します。 - 設定を右上隅に保存します。
メッセージ変数タイプ
ドキュメントでは文字列でなければならないことがドキュメントで定義されていますが、配列が渡された場合、そのメソッドにprint_r
を使って世話をするコードブロックがあります:
if (is_array($message) || is_object($message)) {
$message = print_r($message, true);
}
ログレベル
levelパラメータがnullに設定されている場合、DEBUGレベルが取得されます。
$level = is_null($level) ? Zend_Log::DEBUG : $level;
レベルはfile: lib\Zend\log.php
宣言されています。
const EMERG = 0; // Emergency: system is unusable
const ALERT = 1; // Alert: action must be taken immediately
const CRIT = 2; // Critical: critical conditions
const ERR = 3; // Error: error conditions
const WARN = 4; // Warning: warning conditions
const NOTICE = 5; // Notice: normal but significant condition
const INFO = 6; // Informational: informational messages
const DEBUG = 7; // Debug: debug messages
Zend_Log::INFO
形式の定数または上記で指定した範囲の整数をログレベルパラメータとして渡すことができます。
カスタムログファイル
Mage::log('My log entry', null, 'mylogfile.log');
これまでにログする
/var/log/mylogfile.log
デフォルトのロギング
Mage::log('My log entry');
Mage::log('My log message: '.$myVariable);
Mage::log($myArray);
Mage::log($myObject);
これは/var/log/system.log
記録されます。
オブジェクトと配列は、 print_r()
ディレクティブによって自動的に書き込まれます。オブジェクトを使用するときは、サイズが大きくなる可能性があるので注意してください。
Mage::logException($e);
これにより、例外トレース文字列が/var/log/exception.log
記録されます。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow