Heim > Artikel > PHP-Framework > Wie schreibe ich Protokolle im Yii-Framework?
Um das Debuggen des Programms und das Aufzeichnen von Informationen zu erleichtern, schreiben wir die erforderlichen Informationen in eine Datei, die Protokolldatei. Nehmen wir an Schauen Sie es sich gemeinsam an.
Wie schreibe ich Protokolle im yii-Framework?
1. Um log in Yii zu verwenden, müssen Sie zunächst die Konfigurationsdatei ändern:
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], 'logVars' => ['_GET'], ], ], ],
Zielparameter-Erklärung:
● Klasse gibt die Verwendung von Dateien zum Speichern von Protokollen an
● Ebenen geben das Speichern von Fehler- und Warnprotokollen an
● logVars gibt das Speichern von Get-Parametern an
Wenn logVars ist nicht angegeben, GET POST COOKIE wird SESSION SERVER und andere Parameter gespeichert, die sich auf unsere Anzeige auswirken. Wir können es in
'logVars' => ['*'], // 只记录message
ändern. 2. Verwenden Sie Folgendes:
Yii::error($message); Yii::warning($message);
um das Protokoll in verschiedene Dateien zu schreiben
Methode 1: Weisen Sie zuerst die Protokolldateiadresse zu, unter der das Protokoll aufgezeichnet werden muss, und schreiben Sie dann das Protokoll
Yii::$app->log->targets[0]->logFile = Yii::getAlias('@runtime').DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'app2.log'; Yii::warning($message);
Methode 2 (empfohlen): Ändern Sie die Konfigurationsdatei 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', ], ], ],
Verwenden Sie:
Yii::warning($message,'pay')
Die Nachricht hier wird aufgezeichnet in pay.log, und natürlich wird es auch in der Standardeinstellung aufgezeichnet. Sie können diesen Code in
in app.log auskommentieren: //'categories' => ['application'],, sodass es nur in den jeweiligen Protokollen aufgezeichnet wird.
Aber dies führt auch dazu, dass einige Fehlerinformationen nicht in app.log aufgezeichnet werden.
Das obige ist der detaillierte Inhalt vonWie schreibe ich Protokolle im Yii-Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!