CakePHP - Registro
Iniciar sesión en CakePHP es una tarea muy fácil. Solo tienes que usar una función. Puede registrar errores, excepciones, actividades del usuario, acciones realizadas por los usuarios, para cualquier proceso en segundo plano como cronjob. Registrar datos en CakePHP es fácil. La función log () la proporciona LogTrait, que es el ancestro común de casi todas las clases de CakePHP.
Configuración de registro
Podemos configurar el archivo de inicio de sesión config/app.php. Hay una sección de registro en el archivo, donde puede configurar las opciones de registro como se muestra en la siguiente captura de pantalla.
De forma predeterminada, verá dos niveles de registro: error y debugya configurado para usted. Cada uno manejará diferentes niveles de mensajes.
CakePHP admite varios niveles de registro como se muestra a continuación:
Emergency - El sistema no se puede utilizar
Alert - Se deben tomar medidas de inmediato
Critical - Condiciones críticas
Error - Condiciones de error
Warning - Condiciones de advertencia
Notice - Condición normal pero significativa
Info - Mensajes informativos
Debug - Mensajes de nivel de depuración
Escribir en archivo de registro
Hay dos formas en las que podemos escribir en un archivo de registro.
La primera es usar la estática write()método. La siguiente es la sintaxis de la estáticawrite() método.
Sintaxis | escribir (entero | cadena $ nivel , $ mensaje mixto , cadena | matriz $ contexto []) |
---|---|
Parámetros | El nivel de gravedad del mensaje que se está escribiendo. El valor debe ser un número entero o una cadena que coincida con un nivel conocido. Contenido del mensaje para registrar. Datos adicionales que se utilizarán para registrar el mensaje. La clave de alcance especial se puede pasar para utilizarla para un mayor filtrado de los motores de registro que se utilizarán. Si se pasa una cadena o una matriz de índice numérico, se tratará como la clave de alcance. VerCake\Log\Log::config() para obtener más información sobre los alcances de registro. |
Devoluciones | booleano |
Descripción | Escribe el mensaje y el tipo dados en todos los adaptadores de registro configurados. A los adaptadores configurados se les pasan las variables $ level y $ message. $ level es una de las siguientes cadenas / valores. |
El segundo es utilizar el log() shortcut función disponible en cualquier uso LogTrait El registro de llamadas () llamará internamente Log::write() -
Ejemplo
Realice cambios en el config/routes.php archivo como se muestra en el siguiente programa.
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();
});
Crear un LogexsController.php archivar en src/Controller/LogexsController.php. Copie el siguiente código en el archivo del controlador.
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 un directorio Logexs a src/Template y bajo ese directorio crea un Viewarchivo llamado index.php. Copie el siguiente código en ese archivo.
src/Template/Logexs/index.php
Something is written in log file. Check log file logs\debug.log
Ejecute el ejemplo anterior visitando la siguiente URL.
http: // localhost / cakephp4 / logex
Salida
Tras la ejecución, recibirá el siguiente resultado.
Los registros se agregarán al archivo log / debug.log -