Heim  >  Artikel  >  Backend-Entwicklung  >  Das Yii-Framework implementiert die Methode zum Aufzeichnen von Protokollen in benutzerdefinierten Dateien

Das Yii-Framework implementiert die Methode zum Aufzeichnen von Protokollen in benutzerdefinierten Dateien

巴扎黑
巴扎黑Original
2017-08-13 11:27:471095Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Aufzeichnen von Protokollen in benutzerdefinierten Dateien im Yii-Framework vorgestellt. Er analysiert die Prinzipien der Yii-Framework-Protokollierung und die damit verbundenen Konfigurations- und Implementierungsfähigkeiten in Form von Beispielen Folgendes

Das Beispiel in diesem Artikel beschreibt, wie das Yii-Framework die Protokollierung in einer benutzerdefinierten Datei implementiert. Geben Sie es als Referenz an alle weiter. Die Details lauten wie folgt:

Standardmäßig zeichnet Yii::log($msg, $level, $category) das Protokoll in der Datei runtime/application.log auf.

Das Protokollformat ist wie folgt:

[Zeit] – [Level] – [Kategorie] – [Inhalt]


2013/05/03 17:33:08 [error] [application] test

Aber manchmal braucht man Um einige bestimmte Protokolle abzulegen, legen Sie sie in einer bestimmten Datei ab, z. B. im Protokoll fehlgeschlagener Transaktionen, das getrennt von anderen Protokollen aufgezeichnet werden muss.

Dies kann durch die Konfiguration verschiedener CLogRouter in Yii gelöst werden.

Sie müssen zunächst den Protokollierungsmechanismus von Yii verstehen, der aus zwei Teilen besteht: CLogger und CLogRouter

CLogger ist für die Aufzeichnung von Protokolldaten im Speicher verantwortlich, während CLogRouter entscheidet, wie diese verarbeitet werden Protokolle. Daten, wie z. B. das Aufzeichnen in Dateien oder Datenbanken oder das Versenden von E-Mails usw.

Unter anderem wird CFileLogRoute zum Verarbeiten von Protokolldaten in Form von Dateien verwendet. Daher können Protokolle natürlich in verschiedenen Protokolldateien aufgezeichnet werden, indem unterschiedliche CFileLogRoutes konfiguriert werden.

Die spezifische Konfiguration ist wie folgt:


'log' => array(
  'class' => 'CLogRouter',
  'routes' => array(
    array(
      'class' => 'CFileLogRoute',
      'levels' => 'error, warning',
    ),
    array(
      'class' => 'CFileLogRoute',
      'levels' => 'error, warning',
      'categories'=> 'orders.*',
      'logFile'=> 'orders.log',
    ),

Wo Bestellfehler aufgezeichnet werden müssen, fügen Sie den folgenden Code hinzu:


Yii::log('your message', 'error', 'orders');

Das obige ist der detaillierte Inhalt vonDas Yii-Framework implementiert die Methode zum Aufzeichnen von Protokollen in benutzerdefinierten Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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