Heim Backend-Entwicklung PHP-Tutorial PHP-Entwicklungsframework Yii Framework-Tutorial (3) Fügen Sie der Anwendung Protokolle hinzu

PHP-Entwicklungsframework Yii Framework-Tutorial (3) Fügen Sie der Anwendung Protokolle hinzu

Jan 21, 2017 am 09:33 AM

Im Prozess der Anwendungsentwicklung ist das Debuggen neben dem von der IDE unterstützten Echtzeit-Debugging (z. B. VS.PHP oder der von der IDE unterstützten Debugging-Funktion) auch das Hinzufügen geeigneter Debugging-Informationen zum Web Anwendungen sind ebenfalls sehr nützlich. Jeder, der Java- oder .Net-Anwendungen entwickelt hat, ist mit log4XX vertraut und bietet auch eine ähnliche Protokollfunktion, Yii::log, die als integrierte Komponente von CWebApplication erscheint. Es kann über eine Konfigurationsdatei konfiguriert werden (die Konfiguration in Yii ist normalerweise protected/config/main.php).

Der vorherige Artikel Yii Framework Development Concise Tutorial (2) Yii Web Application Basics beschreibt kurz die Anwendungskomponenten.

Zusätzlich zur Protokollkomponente definiert Yii eine Reihe von Kernanwendungskomponenten vor, um Funktionen bereitzustellen, die in gängigen Webanwendungen verwendet werden. Beispielsweise wird die Anforderungskomponente verwendet, um Benutzeranfragen zu analysieren und Informationen wie URLs, Cookies usw. bereitzustellen. Durch die Konfiguration der Eigenschaften dieser Kernkomponenten können wir das Standardverhalten von Yii in nahezu jeder Hinsicht ändern.

Nachfolgend listen wir die von CWebApplication vordefinierten Kernkomponenten auf.

assetManager: CAssetManager – verwaltet die Freigabe privater Asset-Dateien.

authManager: CAuthManager – Verwaltet die rollenbasierte Zugriffskontrolle (RBAC).

Cache: CCache – Bietet Daten-Caching-Funktion. Beachten Sie, dass Sie die tatsächliche Klasse angeben müssen (z. B. CMemCache, CDbCache). Andernfalls wird NULL zurückgegeben, wenn Sie auf diese Komponente zugreifen.

clientScript: CClientScript – verwaltet Client-Skripte (Javascripts und CSS).

coreMessages: CPhpMessageSource – stellt die Übersetzung der vom Yii-Framework verwendeten Kernnachrichten bereit.

db: CDbConnection – Stellt eine Datenbankverbindung bereit. Beachten Sie, dass Sie zur Verwendung dieser Komponente die Eigenschaft „connectionString“ konfigurieren müssen.

errorHandler: CErrorHandler – Behandelt nicht erfasste PHP-Fehler und Ausnahmen.

Format: CFormatter – formatierte numerische Anzeige. Diese Funktion ist ab Version 1.1.0 verfügbar.

Nachrichten: CPhpMessageSource – Stellt Nachrichtenübersetzungen bereit, die in Yii-Anwendungen verwendet werden.

Anfrage: CHttpRequest – Stellt Informationen über die Anfrage des Benutzers bereit.

securityManager: CSecurityManager – Bietet sicherheitsbezogene Dienste wie Hashing und Verschlüsselung.

session: CHttpSession – Stellt sitzungsbezogene Funktionen bereit.

statePersister: CStatePersister – Stellt globale Zustandspersistenzmethoden bereit.

urlManager: CUrlManager – Bietet Funktionen zum Parsen und Erstellen von URLs.

Benutzer: CWebUser – Bietet Identifikationsinformationen des aktuellen Benutzers.

themeManager: CThemeManager – verwaltet Themen. Diese Komponenten werden in nachfolgenden Tutorials Schritt für Schritt eingeführt. Die grundlegende Methode zur Verwendung der Protokollfunktion ist unten angegeben: Hier ändern wir das Yii Framework Development Concise Tutorial (1) Die erste Anwendung ist Hello World. Fügen Sie ein Protokoll hinzu. 1. Erstellen Sie die Konfigurationsdatei protected/config/main.php. Wenn Sie das Protokoll in eine Datei schreiben möchten, können Sie die folgende Konfiguration verwenden:

// This is the main Web application configuration. Any writable// CWebApplication properties can be configured here.return array(
// preloading 'log' component'preload'=>array('log'),
// application components'components'=>array(
'log'=>array('class'=>'CLogRouter','routes'=>array(array('class'=>'CFileLogRoute','levels'=>'info,error, warning',),
),),),
);
Nach dem Login kopieren

CLogRouter-Informationsrouting wird über Yii: aufgezeichnet. log oder Yii::trace Informationen werden im Speicher gehalten. Normalerweise müssen wir sie in einem Browserfenster anzeigen oder sie in einem dauerhaften Speicher wie Dateien oder E-Mails speichern. Dies wird als Informationsrouting bezeichnet.

Im Allgemeinen müssen Sie bei Verwendung der Protokollfunktion die Protokollkomponente vorab laden. Durch Vorladen kann die Anwendung einige Module im Voraus laden. Tipp: Standardmäßig werden Anwendungskomponenten nach Bedarf erstellt. Dies bedeutet, dass eine Komponente nur erstellt wird, wenn auf sie zugegriffen wird. Daher wird die Gesamtleistung des Systems aufgrund der Konfiguration vieler Komponenten nicht beeinträchtigt. Einige Anwendungskomponenten (z. B. CLogRouter) werden unabhängig davon erstellt, ob sie verwendet werden oder nicht. In diesem Fall listen wir die IDs dieser Komponenten in der Konfigurationsdatei der Anwendung auf: preload.

2. Ändern Sie das Eingabeskript index.php und konfigurieren Sie die Hauptanwendungsinstanz für die Verwendung der neu erstellten Konfigurationsdatei.

$yii='C:/yiiframework/yii.php';
// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
$config=dirname(__FILE__).'/protected/config/main.php';
require_once($yii);
Yii::createWebApplication($config)->run();3. 创建protected/runtime
Nach dem Login kopieren

Da das Standardverzeichnis, in das Protokolldateien geschrieben werden, protected/runtime ist, muss das Laufzeitverzeichnis im Voraus erstellt werden, andernfalls zeigt Yii das Protokoll direkt auf der Webseite an.

4. Auf diese Weise können Sie Yii::log oder Yii::trace verwenden, um Protokolle zur Anwendung hinzuzufügen.

Der Unterschied besteht darin, dass Letzteres nur dann Informationen aufzeichnet, wenn die Anwendung im Debug-Modus ausgeführt wird.

Yii::log($message, $level, $category);
Yii::trace($message, $category);
Nach dem Login kopieren

Beim Aufzeichnen von Informationen müssen wir deren Kategorie und Ebene angeben. Die Kategorie ist eine Zeichenfolge mit einem Format ähnlich einem Pfadalias. Wenn beispielsweise eine Nachricht in CController aufgezeichnet wird, können wir system.web.CController als Klassifizierung verwenden. Die Informationsebene sollte einer der folgenden Werte sein:

trace: Dies ist die Ebene, die in Yii::trace verwendet wird. Es wird verwendet, um den Ausführungsfluss eines Programms während der Entwicklung zu verfolgen.

Info: Hiermit werden allgemeine Informationen erfasst.

Profil: Dies ist eine Leistungsübersicht (Profil). Genauere Anweisungen folgen in Kürze.

Warnung: Dies wird für Warninformationen verwendet.

Fehler: Dies wird für schwerwiegende Fehlermeldungen verwendet.

Yiis Protokolle werden nach Ebene und Kategorie klassifiziert und gefiltert. Wie bereits erwähnt, sollten mehrere Ebenen oder Kategorien durch Kommas verbunden werden.

由于 信息分类是类似 xxx.yyy.zzz 格式的,我们可以将其视为一个分类层级。 具体地,我们说 xxx 是 xxx.yyy 的父级,而 xxx.yyy 又是 xxx.yyy.zzz 的父级。 这样我们就可以使用 xxx.* 表示分类 xxx 及其所有的子级和孙级分类。

有了以 上知识,我们修改SiteController的actionIndex,添加一行日志。

public function actionIndex()
{
Yii::log("action","info","site.action");
$this->render("index");
}
Nach dem Login kopieren

5. 运行应用,可以看到Yii在protected/runtime 创建了一个application.log

其内容如下:

2012/12/11 21:23:38 [info] [site.action] action

注: 日志存放的位置和文件名都可以通过配置来修改,一般情 况使用缺省值就可以了,和log4X 类似,应用的日志可以通过路由同时写到多个目的地(文件,Email等)这些多可以通过配置 来实现,具体可以参见日志记录。

以上就是PHP开发框架Yii Framework教程(3) 为应用添加日志的内容,更多相关内容请关注PHP中文网(www.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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Microsoft NET Framework-Installationsprobleme beheben Fehlercode 0x800c0006 Microsoft NET Framework-Installationsprobleme beheben Fehlercode 0x800c0006 May 05, 2023 pm 04:01 PM

.NET Framework 4 wird von Entwicklern und Endbenutzern benötigt, um die neuesten Versionen von Anwendungen unter Windows auszuführen. Beim Herunterladen und Installieren von .NET Framework 4 beschwerten sich jedoch viele Benutzer darüber, dass das Installationsprogramm mittendrin anhielt und die folgende Fehlermeldung anzeigte: „.NET Framework 4 wurde nicht installiert, da der Download mit dem Fehlercode 0x800c0006 fehlgeschlagen ist.“ Wenn es auch bei der Installation von .NETFramework4 auf Ihrem Gerät auftritt, sind Sie hier richtig

So identifizieren Sie Windows-Upgrade-Probleme mithilfe von SetupDiag unter Windows 11/10 So identifizieren Sie Windows-Upgrade-Probleme mithilfe von SetupDiag unter Windows 11/10 Apr 17, 2023 am 10:07 AM

Wenn bei Ihrem Windows 11- oder Windows 10-PC ein Upgrade- oder Update-Problem auftritt, wird in der Regel ein Fehlercode angezeigt, der den tatsächlichen Grund für den Fehler angibt. Allerdings kann es manchmal zu Verwirrung kommen, wenn ein Upgrade oder Update fehlschlägt, ohne dass ein Fehlercode angezeigt wird. Mit praktischen Fehlercodes wissen Sie genau, wo das Problem liegt, und können versuchen, es zu beheben. Da jedoch kein Fehlercode angezeigt wird, wird es schwierig, das Problem zu identifizieren und zu beheben. Es wird viel Zeit in Anspruch nehmen, einfach nur die Ursache des Fehlers herauszufinden. In diesem Fall können Sie versuchen, ein spezielles Tool namens SetupDiag von Microsoft zu verwenden, mit dem Sie die wahre Ursache des Fehlers leicht identifizieren können.

SCNotification funktioniert nicht mehr [5 Schritte zur Behebung] SCNotification funktioniert nicht mehr [5 Schritte zur Behebung] May 17, 2023 pm 09:35 PM

Als Windows-Benutzer werden Sie wahrscheinlich jedes Mal, wenn Sie Ihren Computer starten, auf die Fehlermeldung „SCNotification funktioniert nicht mehr“ stoßen. SCNotification.exe ist eine Microsoft-Systembenachrichtigungsdatei, die aufgrund von Berechtigungsfehlern und Netzwerkfehlern jedes Mal abstürzt, wenn Sie Ihren PC starten. Dieser Fehler ist auch unter seinem problematischen Ereignisnamen bekannt. Daher sehen Sie dies möglicherweise nicht als Hinweis darauf, dass SCNotification nicht mehr funktioniert, sondern als Fehler clr20r3. In diesem Artikel werden wir alle Schritte untersuchen, die Sie unternehmen müssen, um das Problem zu beheben, dass SCNotification nicht mehr funktioniert, sodass es Sie nicht mehr stört. Was ist SCNotification.e?

Microsoft .NET Framework 4.5.2, 4.6 und 4.6.1 wird im April 2022 nicht mehr unterstützt Microsoft .NET Framework 4.5.2, 4.6 und 4.6.1 wird im April 2022 nicht mehr unterstützt Apr 17, 2023 pm 02:25 PM

Microsoft Windows-Benutzer, die Microsoft.NET Version 4.5.2, 4.6 oder 4.6.1 installiert haben, müssen eine neuere Version des Microsoft Framework installieren, wenn sie möchten, dass Microsoft das Framework durch zukünftige Produktupdates unterstützt. Laut Microsoft wird der Support für alle drei Frameworks am 26. April 2022 eingestellt. Nach Ablauf des Supportdatums erhält das Produkt keine „Sicherheitsfixes oder technischen Support“. Die meisten Heimgeräte werden durch Windows-Updates auf dem neuesten Stand gehalten. Auf diesen Geräten sind bereits neuere Versionen von Frameworks installiert, beispielsweise .NET Framework 4.8. Geräte, die nicht automatisch aktualisiert werden, können dies tun

KB5012643 für Windows 11 macht .NET Framework 3.5-Apps kaputt KB5012643 für Windows 11 macht .NET Framework 3.5-Apps kaputt May 09, 2023 pm 01:07 PM

Es ist eine Woche her, seit wir über den neuen Fehler im abgesicherten Modus gesprochen haben, der Benutzer betrifft, die KB5012643 für Windows 11 installiert haben. Dieses lästige Problem tauchte nicht auf der Liste der bekannten Probleme auf, die Microsoft am Tag der Veröffentlichung veröffentlichte, und überraschte damit alle. Nun, gerade als Sie dachten, es könnte nicht noch schlimmer werden, lässt Microsoft eine weitere Bombe für Benutzer platzen, die dieses kumulative Update installiert haben. Windows 11 Build 22000.652 verursacht weitere Probleme. Daher warnt das Technologieunternehmen Windows 11-Benutzer, dass beim Starten und Verwenden einiger .NET Framework 3.5-Anwendungen Probleme auftreten könnten. Kommt Ihnen das bekannt vor? Aber bitte wundern Sie sich nicht

So entwickeln Sie mit dem PHP-Framework Yii ein hochverfügbares Cloud-Backup-System So entwickeln Sie mit dem PHP-Framework Yii ein hochverfügbares Cloud-Backup-System Jun 27, 2023 am 09:04 AM

Mit der kontinuierlichen Weiterentwicklung der Cloud-Computing-Technologie ist die Datensicherung zu etwas geworden, das jedes Unternehmen durchführen muss. In diesem Zusammenhang ist es besonders wichtig, ein hochverfügbares Cloud-Backup-System zu entwickeln. Das PHP-Framework Yii ist ein leistungsstarkes Framework, das Entwicklern dabei helfen kann, schnell leistungsstarke Webanwendungen zu erstellen. Im Folgenden wird vorgestellt, wie Sie mit dem Yii-Framework ein hochverfügbares Cloud-Backup-System entwickeln. Entwerfen des Datenbankmodells Im Yii-Framework ist das Datenbankmodell ein sehr wichtiger Teil. Denn das Datensicherungssystem erfordert viele Tabellen und Beziehungen

Symfony vs Yii2: Welches Framework eignet sich besser für die Entwicklung umfangreicher Webanwendungen? Symfony vs Yii2: Welches Framework eignet sich besser für die Entwicklung umfangreicher Webanwendungen? Jun 19, 2023 am 10:57 AM

Da die Nachfrage nach Webanwendungen weiter wächst, haben Entwickler bei der Auswahl von Entwicklungsframeworks immer mehr Möglichkeiten. Symfony und Yii2 sind zwei beliebte PHP-Frameworks. Sie verfügen beide über leistungsstarke Funktionen und Leistung. Welches Framework ist jedoch besser geeignet, wenn es darum geht, umfangreiche Webanwendungen zu entwickeln? Als nächstes führen wir eine vergleichende Analyse von Symphony und Yii2 durch, um Ihnen zu helfen, eine bessere Wahl zu treffen. Grundlegende Übersicht Symphony ist ein Open-Source-Webanwendungs-Framework, das in PHP geschrieben ist und darauf aufbaut

Datenabfrage im Yii-Framework: Effizienter Zugriff auf Daten Datenabfrage im Yii-Framework: Effizienter Zugriff auf Daten Jun 21, 2023 am 11:22 AM

Das Yii-Framework ist ein Open-Source-PHP-Webanwendungsframework, das zahlreiche Tools und Komponenten zur Vereinfachung des Prozesses der Webanwendungsentwicklung bereitstellt, wobei die Datenabfrage eine der wichtigen Komponenten ist. Im Yii-Framework können wir eine SQL-ähnliche Syntax verwenden, um auf die Datenbank zuzugreifen und Daten effizient abzufragen und zu bearbeiten. Der Abfrage-Builder des Yii-Frameworks umfasst hauptsächlich die folgenden Typen: ActiveRecord-Abfrage, QueryBuilder-Abfrage, Befehlsabfrage und Original-SQL-Abfrage

See all articles