CakePHP-Frameworks bieten dem Entwickler verschiedene Arten von Funktionen und sind Open-Source-Tools. Aus Entwicklungssicht ist beispielsweise die Protokollierung sehr wichtig; Mithilfe eines Protokolls kann das Problem im Hinblick auf Fehler, Ausnahmen, verschiedene Benutzeraktivit?ten, Benutzeraktionen w?hrend des Vorgangs und etwaige Hintergrundaktivit?ten leicht gefunden werden. Normalerweise ist die Implementierung der Protokollierung eine sehr einfache und zeitsparende T?tigkeit. In CakePHP haben wir eine log()-Funktion, um die verschiedenen Aktivit?ten, Fehler und Ausnahmen zu protokollieren. Für die Protokollimplementierung müssen wir die verschiedenen Parameter gem?? unseren Anforderungen konfigurieren.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Wie erstelle ich ein CakePHP-Protokoll?
Jetzt sehen wir uns an, wie wir wie folgt ein Login für CakePHP erstellen k?nnen.
Das Protokollieren von Informationen in CakePHP ist einfach – die log()-Arbeit wird von LogTrait übernommen, dem normalen Vorg?nger einiger CakePHP-Klassen. Wenn es sich bei der Einstellung um eine CakePHP-Klasse (Controller, Component und View) handelt, k?nnen Sie Ihre Daten protokollieren. Sie k?nnen Log::write() auch einfach verwenden. Siehe Schreiben in Protokolle.
Log-Stream-überwacher k?nnen für Ihre Anwendung oder einen Teil von Modulen von entscheidender Bedeutung sein. Für den Fall, dass Sie beispielsweise einen Datenbank-Holzf?ller namens DatabaseLog als Bestandteil Ihrer Anwendung hatten; es würde eingestellt werden
application/Lib/Log/Engine/DatabaseLog.php.
Angenommen, Sie h?tten einen Informationsdatenbank-Holzf?ller als Modulkomponente, würde dieser in application/Plugin/LoggingPack/Lib/Log/Engine/DatabaseLog.php abgelegt. Wenn dies vereinbart ist, wird CakeLog versuchen, die Protokollstr?me zu stapeln, was durch den Aufruf von CakeLog::config() abgeschlossen wird. Die Anordnung unseres Datenbankprotokolls würde wie folgt aussehen:
App::uses('BaseLog', 'Log/Engine'); class DatabaseLog extends BaseLog { public function __construct($options = array()) { parent::__construct($options); // ... } public function write($specified type, $required message) { // write to the database. } }
W?hrend CakePHP keine anderen Voraussetzungen für Log-Streams hat, als dass sie eine Erstellungstechnik ausführen sollten, hat die Erweiterung der BaseLog-Klasse einige Vorteile:
Es verwaltet somit die Grad- und Typkonfliktprojektion. Schlie?lich führt es die config()-Technik aus, von der erwartet wird, dass die durchgelesene Protokollierung funktioniert.
Die Erstellungstechnik jedes Loggers sollte zwei Grenzen akzeptieren: $type und $message (in einer bestimmten Reihenfolge). $type ist die Zeichenfolgenart der protokollierten Nachricht; Grundüberzeugungen sind Fehler, Warnung, Information und Fehlerbehebung. Darüber hinaus k?nnen Sie Ihre Typen charakterisieren, indem Sie sie verwenden, wenn Sie CakeLog::write.
aufrufenWie konfiguriere ich die Anmeldung bei CakePHP?
Jetzt sehen wir uns an, wie wir die Anmeldung bei CakePHP wie folgt konfigurieren k?nnen.
Zuerst müssen wir die Datei app.php konfigurieren; Wir k?nnen den Protokollbereich mit verschiedenen Optionen konfigurieren.
'Log' => [ 'debug'=>[ 'className'=> 'Cake\Log\Engine\FileLog', 'path' => LOGS, 'file'=> 'debug', 'levels' => ['specified notice', 'required info', 'debug'], 'url' => env('Specified URL', null), ], 'error' => [ 'className'=> 'Cake\Log\Engine\FileLog', 'path' => LOGS, 'file'=> 'error', 'levels' => ['specified warning', 'error', 'critical', 'alert'], 'url' => env('Specified URL', null), ], },
Erkl?rung
Im obigen Code k?nnen wir standardm??ig sehen; Wir haben zwei Protokollebenen: eine Fehler- und eine Debugebene, die wir bereits konfiguriert haben, und sie verarbeitet die verschiedenen Ebenen der Nachricht. Im Grunde unterstützt CakePHP die verschiedenen Protokollierungsebenen wie folgt.
- Notfall: Wird verwendet, um anzuzeigen, dass das System unbrauchbar ist.
- Alarm: Es zeigt, welche Ma?nahmen wir sofort ergreifen müssen.
- Kritisch: Wird für kritische Zust?nde verwendet.
- Fehler: Wird verwendet, um Fehlerbedingungen anzuzeigen.
- Warnung: Wird verwendet, um Warnbedingungen anzuzeigen.
- Hinweis: Es wird verwendet, um den wesentlichen Zustand der Ausführung anzuzeigen.
- Info: Wird verwendet, um Informationsmeldungen nach Bedarf anzuzeigen.
- Debug: Wird verwendet, um den Debug-Level aller Nachrichten anzuzeigen.
CakePHP-Protokolldatei
Jetzt sehen wir uns die Protokolldatei in CakePHP wie folgt an.
Wir k?nnen auf zwei verschiedene Arten in einen Protokolldatensatz schreiben.
Die erste besteht darin, die statische write()-Technik zu verwenden. Als n?chstes folgt die sprachliche Struktur der statischen write()-Technik.
Syntax:
write(integer|string $level, blended $message, string|array $context [])
Parameter:
Der Ernsthaftigkeitsgrad der verfassten Nachricht. Der Wert sollte eine ganze Zahl oder eine Zeichenfolge sein, die einem bekannten Wert entspricht.
Nachrichteninhalt zum Protokollieren.
Zus?tzliche Informationen, die zum Protokollieren der Nachricht verwendet werden sollen. Der einzigartige Verl?ngerungsschlüssel kann weitergegeben werden, um die Holzmotoren zus?tzlich zu trennen. Wenn eine Zeichenfolge oder ein mathematischer Datensatz übergeben wird, wird dieser als Gradschlüssel behandelt. Weitere Daten zu Protokollierungsgraden finden Sie unter CakeLogLog::config().
Es wird zurückgegeben:?boolean
Beschreibung:?Verfasst die angegebene Nachricht und gibt sie an alle entworfenen Protokollkonnektoren ein. Angeordnete Konnektoren erhalten sowohl den $level- als auch den $message-Faktor. $level ist einer der begleitenden Strings/Werte. Die zweite besteht darin, die einfache Routenfunktion log() zu verwenden, die auf jedem Ger?t verfügbar ist, das den LogTrait-Aufruf verwendet. log() ruft Log::write() auf.
CakePHP Log Example
Now let’s see an example of a log file as follows.
First, we need to make the changes in the routes.php file as follows.
<?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 message', 'home page']); $builder->connect('logex',['controller'=>'Logexs','action'=>'index']); $builder->fallbacks(); });
Now we need to create controller.php and write the following code as follows.
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Log\Log; class LogexsController extends AppController{ public function index(){ /*First way to write log file.*/ Log::write('debug', "Something went wrong during execution."); /* Second way to write log file.*/ $this->log("Something went wrong during execution.", 'debug'); } } ?>
Create an index.php file under the view directory and write the following code.
Something went wrong during execution. Need to check log file\debug.log
Now we need to execute this file in localhost, and after execution, we will do some output that we illustrated by using the following screenshot.
After execution debug log was added to the debug.log file, as shown in the following screenshot.
Conclusion
We hope from this article you learn more about the CakePHP log. From the above article, we have taken in the essential idea of the CakePHP log and see the representation and example of the CakePHP log. Furthermore, this article taught us how and when to use the CakePHP log.
Das obige ist der detaillierte Inhalt vonCakePHP-Protokoll. 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.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Hei?e Themen

PHPBECAMEPOPULARFORWebDevelopmentDuetoitSeaseoflearning, Seamlessintegrationwithhtml, weit verbreitete Hostingsupport, andalargeecosystemincludingFrameWorkelaravelandcmsplatformen -?hnliche WordPress.itexcelsinformlingsformen, Managingusesersions, Interacti

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

Tosettherighttimezoneinphp, usedate_default_timezone_set () functionAtthestartofyourScriptWithAvalididentifiersuchas'america/new_york'.1.usedate_default_timezone_set () beeanydate/timeFununtions.2.Alternativ, konfigurieren

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

ThePHPfunctionsserialize()andunserialize()areusedtoconvertcomplexdatastructuresintostorablestringsandbackagain.1.serialize()convertsdatalikearraysorobjectsintoastringcontainingtypeandstructureinformation.2.unserialize()reconstructstheoriginaldatafrom

Sie k?nnen PHP -Code in HTML -Dateien einbetten, stellen Sie jedoch sicher, dass die Datei eine Erweiterung von .PHP enth?lt, damit der Server sie richtig analysieren kann. Verwenden Sie Standard -Tags, um PHP -Code einzuwickeln und dynamische Inhalte überall in HTML einfügen. Darüber hinaus k?nnen Sie PHP und HTML mehrmals in derselben Datei wechseln, um dynamische Funktionen wie das bedingte Rendering zu realisieren. Achten Sie darauf, dass Sie die Serverkonfiguration und die Syntax -Korrektheit beachten, um Probleme zu vermeiden, die durch kurze Bezeichnungen, Anführungszeichenfehler oder weggelassene Endbezeichnungen verursacht werden.

Der Schlüssel zum Schreiben von sauberem und leicht zu machenden PHP-Code liegt in klarer Benennung, nach Standards, angemessene Struktur, nützlicher Kommentare und Testbarkeit. 1. Verwenden Sie klare Variablen, Funktionen und Klassennamen wie $ userData und calculatetotalprice (); 2. Folgen Sie dem PSR-12-Standard-Unified-Code-Stil; 3. Teilen Sie die Codestruktur gem?? den Verantwortlichkeiten und organisieren Sie sie mit MVC- oder Laravel-Katalogen im Stil. 4. Vermeiden Sie den Code im Nudelstil und teilen Sie die Logik in kleine Funktionen mit einer einzigen Verantwortung auf. 5. Kommentare an Schlüsselpunkten hinzufügen und Schnittstellendokumente schreiben, um Parameter, Rückgabewerte und Ausnahmen zu kl?ren. 6. Verbesserung der Prüfbarkeit, Abh?ngigkeitsinjektion, reduzieren Sie den globalen Zustand und die statischen Methoden. Diese Praktiken verbessern die Codequalit?t, die Effizienz der Zusammenarbeit und die Nachverdauerung nach der Wartung.

Ja, YoucanrunsqlQuerieseusePhp und TheProcessinvolveschoosingAdaTabaseextension, ConnectingTothedatabase, ExecutingQueriessafely und ClosenconnectionSwhendone.Todothis, FirstChooseBetweenmysqliorpdo, withpdobeeringmortextextextextextextextextextediestimestutedieseduetosuTosuTosuTosuToseSupporingMulningMulningMulningMulningMuldaTaTablesingmorebotte, withpdobeeringmortextextextextextextediestubliothekern
