CakePHP - Registrazione

Accedere a CakePHP è un'operazione molto semplice. Devi solo usare una funzione. Puoi registrare errori, eccezioni, attività degli utenti, azioni intraprese dagli utenti, per qualsiasi processo in background come cronjob. La registrazione dei dati in CakePHP è facile. La funzione log () è fornita dal LogTrait, che è l'antenato comune per quasi tutte le classi CakePHP.

Configurazione registrazione

Possiamo configurare il file di accesso config/app.php. C'è una sezione di registro nel file, in cui è possibile configurare le opzioni di registrazione come mostrato nello screenshot seguente.

Per impostazione predefinita, vedrai due livelli di registro: error e debuggià configurato per te. Ciascuno gestirà diversi livelli di messaggi.

CakePHP supporta vari livelli di registrazione come mostrato di seguito:

  • Emergency - Il sistema è inutilizzabile

  • Alert - L'azione deve essere intrapresa immediatamente

  • Critical - Condizioni critiche

  • Error - Condizioni di errore

  • Warning - Condizioni di avviso

  • Notice - Condizione normale ma significativa

  • Info - Messaggi informativi

  • Debug - Messaggi a livello di debug

Scrittura nel file di registro

Esistono due modi per scrivere in un file di registro.

Il primo è usare la statica write()metodo. Quella che segue è la sintassi di staticwrite() metodo.

Sintassi scrivi (intero | stringa $ livello , misto $ messaggio , stringa | array $ contesto [])
Parametri

Il livello di gravità del messaggio in fase di scrittura. Il valore deve essere un numero intero o una stringa corrispondente a un livello noto.

Contenuto del messaggio da registrare.

Dati aggiuntivi da utilizzare per la registrazione del messaggio. La chiave dell'ambito speciale può essere passata da utilizzare per un ulteriore filtraggio dei motori di registro da utilizzare. Se viene passata una stringa o una matrice di indice numerico, verrà trattata come chiave dell'ambito. VedereCake\Log\Log::config() per ulteriori informazioni sulla registrazione degli ambiti.

ritorna

booleano

Descrizione

Scrive il messaggio e il tipo specificati in tutti gli adattatori di log configurati. Agli adattatori configurati vengono passate sia le variabili $ level che $ message. $ level è una delle seguenti stringhe / valori.

Il secondo è usare il log() shortcut funzione disponibile su qualsiasi utilizzando il LogTrait Calling log () chiamerà internamente Log::write() -

Esempio

Apporta modifiche nel file config/routes.php file come mostrato nel seguente programma.

config/routes.php

<?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();
});

Creare un LogexsController.php file in src/Controller/LogexsController.php. Copiare il codice seguente nel file del controller.

src/Controller/LogexsController.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');
      }
   }
?>

Crea una directory Logexs a src/Template e in quella directory creare un file Viewfile chiamato index.php. Copia il codice seguente in quel file.

src/Template/Logexs/index.php

Something is written in log file. Check log file logs\debug.log

Esegui l'esempio precedente visitando il seguente URL.

http: // localhost / cakephp4 / logex

Produzione

Dopo l'esecuzione, riceverai il seguente output.

I registri verranno aggiunti al file log / debug.log -