FastSitePHP\Data\Log\HtmlLogger

HTML Logger that uses the [Psr\Log\LoggerInterface].

This class can be used for temporary development logs because it outputs an HTML table of logged messages after the response is sent or depending on options can be used to replace the original response.

Código Fonte

GitHub

Código de Exemplo

Logging

// O FastSitePHP inclui duas classes de logging que implementam a amplamente
// utilizada Interface [Psr\Log].

// Cria um arquivo logger. Mensagens de log são adicionadas e o arquivo é
// criado quando a primeira mensagem é adicionada.
$file = __DIR__ . '/log.txt';
$file_logger = new \FastSitePHP\Data\Log\FileLogger($file);

// Crie um Logger HTML
// Esta classe pode ser utilizada para logs temporários de desenvolvimento
// porque isto gera uma tabela HTML das mensagens registradas depois que a
// resposta é enviada ou, dependendo das opções, pode ser utilizada para
// substituir a resposta original. O parâmetro [$replace_response] é opcional.
$replace_response = false;
$html_logger = new \FastSitePHP\Data\Log\HtmlLogger($app, $replace_response);

// Registre mensagens utilizando uma das seguintes funções:
//     emergency(), alert(), critical(), error(),
//     warning(), notice(), info(), debug()
$file_logger->info('Isto é um teste.');
$html_logger->error('Aplicação de Teste');

// Dados adicionais podem ser passados para a mensagem através de espaços
// reservados
$html_logger->info('Usuário {name} criado', [
    'name' => 'Admin'
]);

// O formato de data pode ser qualquer valor válido para a função [date()] do PHP.
// O padrão é [\DateTime::ISO8601].
$file_logger->date_format = 'Y-m-d H:i:s';

// Para o arquivo de registro o formato gerado pode ser controlado pelas
// propriedades.
//
// Formato Padrão:
//     '{date} {level} - {message}{line_break}';
//
// Quebras de Linha padrão baseando-se no Sistema Operacional (SO):
//     "\r\n" - Windows
//     "\n"   - Outros SOs
$file_logger->log_format = '[{level}] {message}{line_break}';
$file_logger->line_break = '^^';

// Você pode também personalizar o HTML Logger com seu próprio modelo:
// $html_logger->template_file = 'SEU_MODELO.php';

Propriedades

Nome Tipo de Dados Padrão Descrição
temlate_file string __DIR__ . '/../../Templates/html-template.php' File path for the PHP Template used to show the logs
date_format string \DateTime::ISO8601 Format to use when converting dates to a string

Métodos

__construct(Application $app, $replace_response = false)

Class Constructor

The FastSitePHP Application must be passed when this class is created. Once called it adds either a [beforeSend()] or [after()] event based on the optional parameter [$replace_response].

getHtml()

Return HTML that will be used to show the logged messages. This function gets called to replace the current route or after the response is sent.

log($level, $message, array $context = array())

Logs with an arbitrary level.

emergency($message, array $context = array())

System is unusable.

alert($message, array $context = array())

Action must be taken immediately.

Example: Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up.

critical($message, array $context = array())

Critical conditions.

Example: Application component unavailable, unexpected exception.

error($message, array $context = array())

Runtime errors that do not require immediate action but should typically be logged and monitored.

warning($message, array $context = array())

Exceptional occurrences that are not errors.

Example: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong.

notice($message, array $context = array())

Normal but significant events.

info($message, array $context = array())

Interesting events.

Example: User logs in, SQL logs.

debug($message, array $context = array())

Detailed debug information.