ホームページ  >  記事  >  PHPフレームワーク  >  Yii フレームワークでログを書き込むにはどうすればよいですか?

Yii フレームワークでログを書き込むにはどうすればよいですか?

angryTom
angryTomオリジナル
2020-01-21 18:59:423336ブラウズ

開発中、プログラムのデバッグや情報の記録を容易にするために、必要な情報をファイル (ログ ファイル) に書き込みます。yii フレームワークは、ログを書き込む優れた方法を提供します。一緒に見てください。

Yii フレームワークでログを書き込むにはどうすればよいですか?

#yii フレームワークはどのようにログを書き込むのでしょうか?

1. Yii でログを使用するには、まず設定ファイルを変更する必要があります:

'log' => [
    'traceLevel' => YII_DEBUG ? 3 : 0,
    'targets' => [
        [
            'class' => 'yii\log\FileTarget',
            'levels' => ['error', 'warning'],
            'logVars' => ['_GET'],
        ],
    ],
],

targets パラメータの説明:

● クラスは、ログを保存するためのファイルの使用を指定します。

##● レベルは、エラー ログと警告ログの保存を指定します。

##● logVars は、取得パラメータの保存を指定します。

logVars が指定しない場合、GET POST COOKIE は SESSION SERVER およびその他のパラメータに保存されます。これは表示に影響します。これを

'logVars' => ['*'], // 只记录message

2 に変更できます。次のように使用します。

Yii::error($message);
Yii::warning($message);

別のファイルにログを書き込む

##方法 1: まず、ログを記録する必要があるログ ファイル アドレスを割り当ててから、ログを書き込みます

Yii::$app->log->targets[0]->logFile = Yii::getAlias('@runtime').DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'app2.log';
Yii::warning($message);

方法 2 (推奨): 構成ファイル main.php

'log' => [
    'traceLevel' => YII_DEBUG ? 3 : 0,
    'targets' => [
        [
            'class' => 'yii\log\FileTarget',
            'levels' => ['error', 'warning'],
            'logVars' => ['*'],
            //'categories' => ['application'],
            //'logFile' => '@runtime/logs/app.log',
        ],
        [
            'class' => 'yii\log\FileTarget',
            'categories' => ['pay'],
            'levels' => ['error', 'warning'],
            'logVars' => ['*'],
            'logFile' => '@runtime/logs/pay.log',
        ],
        [
            'class' => 'yii\log\FileTarget',
            'categories' => ['order'],
            'levels' => ['error', 'warning'],
            'logVars' => ['*'],
            'logFile' => '@runtime/logs/order.log',
        ],
    ],
],
を変更します。使用:
Yii::warning($message,'pay')

ここでのメッセージは、次の場所に記録されます。 pay.log、そしてもちろん、app.log のデフォルトの

にも記録されます。このコードのコメントを解除できます:

//'categories' => ['application'],

、それぞれのログにのみ記録されるようにします。

ただし、これにより、一部のエラー情報が app.log に記録されなくなります。

以上がYii フレームワークでログを書き込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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