Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie k?nnen Fehler, Ausnahmen, Benutzeraktivit?ten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird von LogTrait bereitgestellt, dem gemeinsamen Vorfahren fast aller CakePHP-Klassen.
Protokollierungskonfiguration
Wir k?nnen die Protokolldatei config/app.php konfigurieren. Es gibt einen Protokollabschnitt in der Datei, in dem Sie Protokollierungsoptionen konfigurieren k?nnen, wie im folgenden Screenshot gezeigt.

Standardm??ig werden zwei Protokollebenen angezeigt: Fehler und Debug, die bereits für Sie konfiguriert sind. Jeder wird unterschiedliche Ebenen von Nachrichten verarbeiten.
CakePHP unterstützt verschiedene Protokollierungsstufen, wie unten gezeigt ?
Notfall ? System ist unbrauchbar
Alarm ? Es müssen sofort Ma?nahmen ergriffen werden
Kritisch ? Kritische Bedingungen
Fehler ? Fehlerbedingungen
Warnung ? Warnbedingungen
Hinweis ? Normaler, aber signifikanter Zustand
Info ? Informationsnachrichten
Debug – Meldungen auf Debug-Ebene
Schreiben in die Protokolldatei
Es gibt zwei M?glichkeiten, wie wir in eine Protokolldatei schreiben k?nnen.
Die erste besteht darin, die statische Methode write() zu verwenden. Das Folgende ist die Syntax der statischen Methode write().
Syntax | write( integer|string $level, Mixed $message, string|array $context [] ) | ||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
Nachrichteninhalt zum Protokollieren. Zus?tzliche Daten, die zur Protokollierung der Nachricht verwendet werden sollen. Der spezielle Bereichsschlüssel kann übergeben werden, um für die weitere Filterung der zu verwendenden Protokoll-Engines verwendet zu werden. Wenn eine Zeichenfolge oder ein numerisches Indexarray übergeben wird, wird es als Bereichsschlüssel behandelt. Weitere Informationen zu Protokollierungsbereichen finden Sie unter CakeLogLog::config(). |
||||||||
Returns | boolean | ||||||||
Beschreibung | Schreibt die angegebene Nachricht und den angegebenen Typ an alle konfigurierten Protokolladapter. Konfigurierten Adaptern werden sowohl die Variablen $level als auch $message übergeben. $level ist eine der folgenden Zeichenfolgen/Werte. |
Die zweite besteht darin, die Funktion log()
zu verwenden, die auf allen Ger?ten verfügbar ist, die dasLogTrait verwenden. Durch den Aufruf von log() wird intern Log::write() ?
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages', ['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('logex',['controller'=>'Logexs','action'=>'index']); $builder->fallbacks(); });Beispiel
Nehmen Sie ?nderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.
config/routes.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Log\Log; class LogexsController extends AppController{ public function index(){ /*The first way to write to log file.*/ Log::write('debug',"Something didn't work."); /*The second way to write to log file.*/ $this->log("Something didn't work.",'debug'); } } ?>Erstellen Sie eine
LogexsController.php-Datei unter src/Controller/LogexsController.php. Kopieren Sie den folgenden Code in die Controller-Datei. src/Controller/LogexsController.php
Erstellen Sie ein Verzeichnis
LogexsSomething is written in log file. Check log file logs\debug.logunter
src/Template
und erstellen Sie unter diesem Verzeichnis eineView
-Datei mit dem Namen index.php. Kopieren Sie den folgenden Code in diese Datei.src/Template/Logexs/index.php

Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen.

Das obige ist der detaillierte Inhalt vonCakePHP-Protokollierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Vollversion von Mantianxing Comic ist https://www.mantianxingmh.com. Die Plattform deckt eine Vielzahl von Themen wie Leidenschaft, Liebe, Spannung, Science -Fiction usw. mit reichen Ressourcen und zeitnahen Aktualisierungen und unterstützt ein klassifiziertes Abruf. Es bietet eine hochaufl?sende Bildqualit?t, mehrere Seitenverdrehungsmodi, benutzerdefinierte Hintergrund- und Helligkeitsanpassung und verfügt über einen Augenschutzmodus, um das Leseerlebnis zu optimieren. Benutzer k?nnen ein Bücherregal erstellen, das Lesen von Datens?tzen speichern, offline herunterladen und den Fortschritt des Cross-Ger?ts erreichen.

Verwenden Sie die Funktion Unlink (), um Dateien in PHP zu l?schen. Sie müssen sicherstellen, dass der Dateipfad korrekt ist und der Server Schreibberechtigungen hat. Vor dem L?schen sollten Sie überprüfen, ob die Datei existiert, und verhindern, dass der Weg b?swillig manipuliert wird.

OopinPhporganizescodinTorusableClasseSandObjects

Verwenden Sie MySQLI_Insert_id () (Prozedurstil), $ mySQLi-> insert_id (Objektstil) oder $ pdo-> lastInsertid () (PDO), um die letzte eingefügte ID zu erhalten, und muss sofort in derselben Verbindung aufgerufen werden, um die Genauigkeit zu gew?hrleisten.

FinalclasseSSandMethodsinphppreventinheritanceAnDoverridingToprotectcriticalCode.2.AfinalclassCannotbeexted, sichergestellt, dassBehaviorremainared.3.AfinalMethodcannotbeoverridden, ProverningconsistentimplementationacrosSuBsuBsuBsuBsubclasses.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.4.

Verwenden Sie einzelne Zitate oder entkommene Doppelzitate, um HTML in PHP auszuführen. Es wird empfohlen, Zeichenfolgen mit einzelnen Zitaten zu wickeln, um Attribut -Zitatkonflikte zu vermeiden. Dynamischer Inhalt kann in Kombination mit variablem Splei?en oder Heredoc -Syntax erzeugt werden.

AsingletonClassinphpensuryoneinstance existsByusingAprivateConstructor, Verhinderung der Cloningandunialisierung und Verbreitung von AccessointviaastaticMethodhatretRurnSthesingleInstancestoredinaprivatestaticproperty.

Verwenden Sie $ _gettoaccessurlqueryStringVariableSinphp, suchasname = Johnandage = 30fromhttps: //example.com/search.php? Name = John & Age = 30; immerValidateAndsanitizeInputsusingFilter_Input () und AvoidsensistaNevivedataNurlsdueTuetoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoEletoexposens.
