Heim > PHP-Framework > YII > Hauptteil

Wie schreibe ich Protokolle im Yii-Framework?

angryTom
Freigeben: 2020-02-05 17:59:29
Original
3336 Leute haben es durchsucht

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?

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'],
        ],
    ],
],
Nach dem Login kopieren

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
Nach dem Login kopieren

ändern. 2. Verwenden Sie Folgendes:

Yii::error($message);
Yii::warning($message);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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',
        ],
    ],
],
Nach dem Login kopieren

Verwenden Sie:

Yii::warning($message,'pay')
Nach dem Login kopieren

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!

Verwandte Etiketten:
yii
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage