Class Phalcon\Logger
Código fuente en GitHub
Namespace |
Phalcon |
|
Uses |
Psr\Log\LoggerInterface, Phalcon\Logger\Adapter\AdapterInterface, Phalcon\Logger\Item, Phalcon\Logger\Exception |
|
Implements |
LoggerInterface |
Phalcon\Logger
Este componente ofrece capacidades de registro para su aplicación. El componente acepta múltiples adaptadores, trabajando también como un registrador múltiple. Phalcon\Logger implementa PSR-3.
use Phalcon\Logger;
use Phalcon\Logger\Adapter\Stream;
$adapter1 = new Stream('/logs/first-log.log');
$adapter2 = new Stream('/remote/second-log.log');
$adapter3 = new Stream('/manager/third-log.log');
$logger = new Logger(
'messages',
[
'local' => $adapter1,
'remote' => $adapter2,
'manager' => $adapter3,
]
);
// Log to all adapters
$logger->error('Something went wrong');
// Log to specific adapters
$logger
->excludeAdapters(['manager'])
->info('This does not go to the "manager" logger);
Constantes
const ALERT = 2;
const CRITICAL = 1;
const CUSTOM = 8;
const DEBUG = 7;
const EMERGENCY = 0;
const ERROR = 3;
const INFO = 6;
const NOTICE = 5;
const WARNING = 4;
Propiedades
/**
* The adapter stack
*
* @var AdapterInterface[]
*/
protected adapters;
/**
* Minimum log level for the logger
*
* @var int
*/
protected logLevel = 8;
/**
* @var string
*/
protected name = ;
/**
* The excluded adapters for this log process
*
* @var AdapterInterface[]
*/
protected excluded;
Métodos
public function __construct( string $name, array $adapters = [] );
Constructor.
public function addAdapter( string $name, AdapterInterface $adapter ): Logger;
Añade un adaptador a la pila. Para el procesamiento usamos FIFO
public function alert( mixed $message, array $context = [] ): void;
Se deben tomar medidas de inmediato.
Ejemplo: Sitio web completo, base de datos no disponible, etc. Esto debería activar las alertas de SMS y despertarte.
public function critical( mixed $message, array $context = [] ): void;
Condiciones críticas.
Ejemplo: Componente de aplicación no disponible, excepción inesperada.
public function debug( mixed $message, array $context = [] ): void;
Información detallada de depuración.
public function emergency( mixed $message, array $context = [] ): void;
El sistema está inutilizable.
public function error( mixed $message, array $context = [] ): void;
Errores en tiempo de ejecución que no requieren una acción inmediata, pero normalmente deberían ser registrados y monitoreados.
public function excludeAdapters( array $adapters = [] ): Logger;
Excluye ciertos adaptadores.
public function getAdapter( string $name ): AdapterInterface;
Devuelve un adaptador de la pila
public function getAdapters(): array;
Devuelve el vector de la pila de adaptadores
public function getLogLevel(): int
public function getName(): string;
Devuelve el nombre del registrador
public function info( mixed $message, array $context = [] ): void;
Eventos interesantes.
Ejemplo: Inicio de sesión de usuario, registros SQL.
public function log( mixed $level, mixed $message, array $context = [] ): void;
Registros con un nivel arbitrario.
public function notice( mixed $message, array $context = [] ): void;
Eventos normales pero significativos.
public function removeAdapter( string $name ): Logger;
Elimina un adaptador de la pila
public function setAdapters( array $adapters ): Logger;
Establece la pila de adaptadores sobreescribiendo lo que ya existe
public function setLogLevel( int $level ): Logger;
Establece el nivel de registro por encima del cual podemos registrar
public function warning( mixed $message, array $context = [] ): void;
Ocurrencias excepcionales que no son errores.
Ejemplo: Uso de APIs obsoletas, mal uso de una API, cosas indeseables que no necesariamente son erróneas.
protected function addMessage( int $level, string $message, array $context = [] ): bool;
Añade un mensaje a cada manejador para procesar
protected function getLevels(): array;
Devuelve un vector de niveles de registro con conversión de entero a cadena
Abstract Class Phalcon\Logger\Adapter\AbstractAdapter
Código fuente en GitHub
Namespace |
Phalcon\Logger\Adapter |
|
Uses |
Phalcon\Logger, Phalcon\Logger\Exception, Phalcon\Logger\Formatter\FormatterInterface, Phalcon\Logger\Item |
|
Implements |
AdapterInterface |
Este fichero es parte del Framework Phalcon.
(c) Phalcon Team [email protected]
Para obtener toda la información sobre derechos de autor y licencias, por favor vea el archivo LICENSE.txt que se distribuyó con este código fuente.
Propiedades
/**
* Name of the default formatter class
*
* @var string
*/
protected defaultFormatter = Line;
/**
* Formatter
*
* @var FormatterInterface
*/
protected formatter;
/**
* Tells if there is an active transaction or not
*
* @var bool
*/
protected inTransaction = false;
/**
* Array with messages queued in the transaction
*
* @var array
*/
protected queue;
Métodos
public function __destruct();
Limpieza del destructor
public function add( Item $item ): AdapterInterface;
Añade un mensaje a la cola
public function begin(): AdapterInterface;
Inicia una transacción
public function commit(): AdapterInterface;
Confirma la transacción interna
public function getFormatter(): FormatterInterface;
public function inTransaction(): bool;
Devuelve si el registrador está actualmente en una transacción activa o no
abstract public function process( Item $item ): void;
Procesa el mensaje en el adaptador
public function rollback(): AdapterInterface;
Deshace la transacción interna
public function setFormatter( FormatterInterface $formatter ): AdapterInterface;
Establece el formateador de mensajes
Interface Phalcon\Logger\Adapter\AdapterInterface
Código fuente en GitHub
Namespace |
Phalcon\Logger\Adapter |
|
Uses |
Phalcon\Logger\Formatter\FormatterInterface, Phalcon\Logger\Item |
Phalcon\Logger\AdapterInterface
Interfaz para adaptadores Phalcon\Logger
Métodos
public function add( Item $item ): AdapterInterface;
Añade un mensaje en la cola
public function begin(): AdapterInterface;
Inicia una transacción
public function close(): bool;
Cierra el registrador
public function commit(): AdapterInterface;
Confirma la transacción interna
public function getFormatter(): FormatterInterface;
Devuelve el formateador interno
public function inTransaction(): bool;
Devuelve si el registrador está actualmente en una transacción activa o no
public function process( Item $item ): void;
Procesa el mensaje en el adaptador
public function rollback(): AdapterInterface;
Deshace la transacción interna
public function setFormatter( FormatterInterface $formatter ): AdapterInterface;
Establece el formateador de mensajes
Class Phalcon\Logger\Adapter\Noop
Código fuente en GitHub
Namespace |
Phalcon\Logger\Adapter |
|
Uses |
Phalcon\Logger\Item |
|
Extends |
AbstractAdapter |
Phalcon\Logger\Adapter\Noop
Adaptador para almacenar registros en archivos de texto simple
$logger = new \Phalcon\Logger\Adapter\Noop();
$logger->log(\Phalcon\Logger::ERROR, "This is an error");
$logger->error("This is another error");
$logger->close();
Métodos
public function close(): bool;
Cierra el flujo
public function process( Item $item ): void;
Procesa el mensaje, es decir, lo escribe en el fichero
Class Phalcon\Logger\Adapter\Stream
Código fuente en GitHub
Namespace |
Phalcon\Logger\Adapter |
|
Uses |
Phalcon\Logger\Adapter, Phalcon\Logger\Exception, Phalcon\Logger\Formatter\FormatterInterface, Phalcon\Logger\Item, UnexpectedValueException |
|
Extends |
AbstractAdapter |
Phalcon\Logger\Adapter\Stream
Adaptador para almacenar registros en fichero de texto simple
$logger = new \Phalcon\Logger\Adapter\Stream("app/logs/test.log");
$logger->log("This is a message");
$logger->log(\Phalcon\Logger::ERROR, "This is an error");
$logger->error("This is another error");
$logger->close();
Propiedades
/**
* Stream handler resource
*
* @var resource|null
*/
protected handler;
/**
* The file open mode. Defaults to "ab"
*
* @var string
*/
protected mode = ab;
/**
* Stream name
*
* @var string
*/
protected name;
/**
* Path options
*
* @var array
*/
protected options;
Métodos
public function __construct( string $name, array $options = [] );
Constructor. Acepta el nombre y algunas opciones
public function close(): bool;
Cierra el flujo
public function getName(): string
public function process( Item $item ): void;
Procesa el mensaje, es decir, lo escribe en el fichero
Class Phalcon\Logger\Adapter\Syslog
Código fuente en GitHub
Namespace |
Phalcon\Logger\Adapter |
|
Uses |
LogicException, Phalcon\Helper\Arr, Phalcon\Logger, Phalcon\Logger\Adapter, Phalcon\Logger\Exception, Phalcon\Logger\Formatter\FormatterInterface, Phalcon\Logger\Item |
|
Extends |
AbstractAdapter |
Phalcon\Logger\Adapter\Syslog
Envía registros al registrador del sistema
use Phalcon\Logger;
use Phalcon\Logger\Adapter\Syslog;
// LOG_USER is the only valid log type under Windows operating systems
$logger = new Syslog(
"ident",
[
"option" => LOG_CONS | LOG_NDELAY | LOG_PID,
"facility" => LOG_USER,
]
);
$logger->log("This is a message");
$logger->log(Logger::ERROR, "This is an error");
$logger->error("This is another error");
Propiedades
/**
* Name of the default formatter class
*
* @var string
*/
protected defaultFormatter = Line;
/**
* @var int
*/
protected facility = 0;
/**
* @var string
*/
protected name = ;
/**
* @var bool
*/
protected opened = false;
/**
* @var int
*/
protected option = 0;
Métodos
public function __construct( string $name, array $options = [] );
Phalcon\Logger\Adapter\Syslog constructor
public function close(): bool;
Cierra el registrador
public function process( Item $item ): void;
Procesa el mensaje, es decir, lo escribe en el syslog
Class Phalcon\Logger\AdapterFactory
Código fuente en GitHub
Namespace |
Phalcon\Logger |
|
Uses |
Phalcon\Factory\AbstractFactory, Phalcon\Logger\Adapter\AdapterInterface |
|
Extends |
AbstractFactory |
Este fichero es parte del Framework Phalcon.
(c) Phalcon Team [email protected]
Para obtener toda la información sobre derechos de autor y licencias, por favor vea el archivo LICENSE.txt que se distribuyó con este código fuente.
Métodos
public function __construct( array $services = [] );
Constructor AdapterFactory.
public function newInstance( string $name, string $fileName, array $options = [] ): AdapterInterface;
Crea una nueva instancia del adaptador
protected function getAdapters(): array;
Class Phalcon\Logger\Exception
Código fuente en GitHub
Namespace |
Phalcon\Logger |
|
Extends |
\Phalcon\Exception |
Phalcon\Logger\Exception
Las excepciones lanzadas en Phalcon\Logger usarán esta clase
Código fuente en GitHub
Namespace |
Phalcon\Logger\Formatter |
|
Uses |
DateTimeImmutable, DateTimeZone, Phalcon\Logger, Phalcon\Logger\Item |
|
Implements |
FormatterInterface |
Este fichero es parte del Framework Phalcon.
(c) Phalcon Team [email protected]
Para obtener toda la información sobre derechos de autor y licencias, por favor vea el archivo LICENSE.txt que se distribuyó con este código fuente.
Propiedades
/**
* Default date format
*
* @var string
*/
protected dateFormat;
Métodos
public function getDateFormat(): string
public function interpolate( string $message, mixed $context = null );
Interpola los valores de contexto dentro de los marcadores de posición del mensaje
@see https://www.php-fig.org/psr/psr-3/ Section 1.2 Message
public function setDateFormat( string $dateFormat )
protected function getFormattedDate(): string;
Devuelve la fecha formateada para el registrador. @todo No se usa el tiempo establecido del objeto ya que tenemos una alineación incorrecta de interfaz que romperá el semver. Esto cambiará en el futuro
Código fuente en GitHub
Namespace |
Phalcon\Logger\Formatter |
|
Uses |
Phalcon\Logger\Item |
Phalcon\Logger\FormatterInterface
Se debe implementar esta interfaz por los formateadores en Phalcon\Logger
Métodos
public function format( Item $item ): string | array;
Aplica un formato a un elemento
Código fuente en GitHub
Namespace |
Phalcon\Logger\Formatter |
|
Uses |
Phalcon\Helper\Json, Phalcon\Logger\Item |
|
Extends |
AbstractFormatter |
Phalcon\Logger\Formatter\Json
Formatea mensajes utilizando la codificación JSON
Métodos
public function __construct( string $dateFormat = string );
Constructor Phalcon\Logger\Formatter\Json
public function format( Item $item ): string;
Aplica un formato a un mensaje antes de enviarlo al registro interno
Código fuente en GitHub
Namespace |
Phalcon\Logger\Formatter |
|
Uses |
DateTime, Phalcon\Logger\Item |
|
Extends |
AbstractFormatter |
Phalcon\Logger\Formatter\Line
Formatea mensajes utilizando una cadena de una línea
Propiedades
/**
* Format applied to each message
*
* @var string
*/
protected format;
Métodos
public function __construct( string $format = string, string $dateFormat = string );
Constructor Phalcon\Logger\Formatter\Line
public function format( Item $item ): string;
Aplica un formato a un mensaje antes de enviarlo al registro interno
public function getFormat(): string
public function setFormat( string $format )
Class Phalcon\Logger\Item
Código fuente en GitHub
Phalcon\Logger\Item
Representa cada objeto en una transacción de registro
Propiedades
/**
* Log Context
*
* @var mixed
*/
protected context;
/**
* Log message
*
* @var string
*/
protected message;
/**
* Log message
*
* @var string
*/
protected name;
/**
* Log timestamp
*
* @var integer
*/
protected time;
/**
* Log type
*
* @var integer
*/
protected type;
Métodos
public function __construct( string $message, string $name, int $type, int $time = int, mixed $context = [] );
Constructor Phalcon\Logger\Item @todo Eliminar el tiempo o cambiar la firma a un vector
public function getContext(): mixed
public function getMessage(): string
public function getName(): string
public function getTime(): integer
public function getType(): integer
Class Phalcon\Logger\LoggerFactory
Código fuente en GitHub
Namespace |
Phalcon\Logger |
|
Uses |
Phalcon\Config, Phalcon\Config\ConfigInterface, Phalcon\Helper\Arr, Phalcon\Logger |
Phalcon\Logger\LoggerFactory
Factoría de Registrador
Propiedades
/**
* @var AdapterFactory
*/
private adapterFactory;
Métodos
public function __construct( AdapterFactory $factory );
public function load( mixed $config ): Logger;
Factoría para crear una instancia desde un objeto Config
public function newInstance( string $name, array $adapters = [] ): Logger;
Devuelve un objeto Logger