ホームページ >バックエンド開発 >PHPチュートリアル >Yii2 フレームワークでのログの使用方法の分析

Yii2 フレームワークでのログの使用方法の分析

巴扎黑
巴扎黑オリジナル
2017-08-13 14:04:451724ブラウズ

この記事では、主に Yii2 フレームワークでのログの使用方法を紹介し、 Yii1 の一般的な方法と関連する使用テクニックを比較します。参考のために皆さんと共有してください。詳細は次のとおりです:

Yii2 と Yii1 の違いは、ログ記録方法です

Yii::log($message, $level, $category);
Yii::trace($message, $category);

後者はデバッグモードでのみログを記録します。

ここでのlogメソッドはYiiBaseの静的メソッドです。

Yii2 では、オブジェクト指向設計がより徹底的に実装され、ロギング機能が Logger クラスに転送され、複数の出力ターゲット (Target) がサポートされます。


Yii2 でログを使用する方法

ログを記録するには、まず Logger クラスの単一インスタンスを取得し、次にクラスのパブリック ロギング メソッドを呼び出す必要があります:

Yii::getLogger()->log($msg, $level, $category)
例は次のとおりです。

Yii::getLogger()->log(“your site has been hacked”, Logger::LEVEL_ERROR)
//默认category为application即应用程序级别的日志

さらに、Yii2 にはいくつかのショートカット メソッドが用意されています。

Yii::trace() は、開発およびデバッグ中にログを記録するために使用されます。YII_DEBUG が必要です。 true に設定します。

Yii::error() 回復不可能なエラーを記録するために使用されます

Yii::warning() いくつかの警告メッセージ

Yii::info() 管理者操作などの一部のシステム動作記録 ヒント

Yii2 カスタムログ出力対象

Yii::trace() 用于开发调试时记录日志,需要把 YII_DEBUG 设置为 true.
Yii::error() 用于记录不可恢复的错误
Yii::warning() 一些警告信息
Yii::info()

対象をカスタマイズするには、たとえば、回復不能なエラーが発生したときにファイルの記録とメールの送信を同時に行いたい場合に使用します。エラーが発生した場合は、次のようにカスタマイズできます:

[
  'bootstrap' => ['log'], // ensure logger gets loaded before application starts
  'components' => [
    'log' => [
      'targets' => [
        'file' => [
          'class' => 'yii\log\FileTarget',
          'levels' => ['trace', 'info'],
          'categories' => ['yii\*'],
        ],
        'email' => [
          'class' => 'yii\log\EmailTarget',
          'levels' => ['error', 'warning'],
          'message' => [
            'to' => ['admin@techbrood.com', 'support@techbrood.com'],
            'subject' => 'New example.com log message',
          ],
        ],
      ],
    ],
  ],
]

以上がYii2 フレームワークでのログの使用方法の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。