jf/log

用于记录输出信息流的系统。

3.0.2 2023-05-29 15:41 UTC

This package is auto-updated.

Last update: 2024-09-29 19:02:31 UTC


README

允许您拥有一个控制系统记录信息的系统。它实现了 Psr\Log\LoggerInterface 接口,因此可以用来替换那些执行如此简单任务过于沉重的包。

要获取一个日志记录器,可以创建一个实例或使用 getLogger 方法,该方法允许在应用程序执行期间拥有多个日志记录器,并且可以从代码的任何部分检索它们,因为此方法的调用始终返回指定名称的同一实例。

示例

use jf\log\Logger;
use jf\log\writer\File;
use jf\log\writer\StdOut;

//-----------------------------------------------------------------------------
// Asignando el nombre del archivo de salida.
//-----------------------------------------------------------------------------
$filename    = sprintf('/tmp/%s-MiWeb.log', date('Y-m-d'));

// Usando un logger como singleton
$log         = Logger::getLogger('MiWeb');
$log->writer = new File('/tmp/test-logger.log');

// Creando una instancia
$log         = new Logger('MiWeb', new File('/tmp/test-logger.log'));

// Usando el nombre del archivo agrega un writer File
// si se puede escribir en el directorio
$log         = Logger::getLogger($filename);

// Devuelve una instancia que gestiona el archivo /tmp/Y-m-d@sql.log
$log         = Logger::getTodayLogger('sql');

//-----------------------------------------------------------------------------
// Mostrando la salida por pantalla en vez de un archivo.
//-----------------------------------------------------------------------------
// Usando un singleton
$log         = Logger::getLogger('MiWeb');
// Creando una instancia
$log         = new Logger('MiWeb');
$log->writer = new StdOut();

//-----------------------------------------------------------------------------
// Agregando trazas.
//-----------------------------------------------------------------------------
$log->debug('Texto de depuración');
$log->warning('Texto de aviso');