Heim > Artikel > Backend-Entwicklung > yii2-Protokollausgabe in Datei und Datenbank
config/web.php bearbeiten
Zuerst muss das Protokoll aktiviert werden
'bootstrap' => [ 'log' ],
[Datei]
'components' => [ 'log' => [ 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'exportInterval' => 1, ], ], ],
Die Standardausgabe erfolgt an runtime/logs /app.log
Beachten Sie, dass der Webserver- oder Konsolenbenutzer die Berechtigung zum Schreiben in diese Datei
[Datenbank] haben muss
'log' => [ 'targets' => [ [ 'class' => 'yii\log\DbTarget', 'levels' => ['error', 'warning', 'trace'], ] ] ],
Die Standardausgabe ist {{% log unter der Datenbank, die der Datenbankkomponente entspricht }}Tabelle
Führen Sie den folgenden Befehl im yii2-Stammverzeichnis aus, um das entsprechende Tabellenschema zu generieren
./yii migrate --migrationPath=@yii/log/migrations/
Beachten Sie, dass config/console.php muss haben auch die gleiche Konfiguration wie web.php, sonst war die Befehlsausführung nicht erfolgreich.
Sie können auch verschiedene Protokollmodi je nach Umgebung konfigurieren
'components' => [ 'log' => [ 'traceLevel' => YII_ENV == 'dev' ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\DbTarget', 'levels' => YII_DEBUG ? ['error', 'warning', 'trace'] : ['error'], ], [ 'class' => 'yii\log\FileTarget', 'levels' => YII_DEBUG ? ['error', 'warning', 'trace'] : ['error', 'warning'], ], ], ], ],