FastSitePHP\Data\Log\FileLogger

Simple File Logger that uses the [Psr\Log\LoggerInterface]

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
file_path string null Path of the log file. The file will be created on first used if it does not exist.
log_format string "{date} {level} - {message}{line_break}" Default Log file format
line_break string PHP_EOL Line breaks default to the line breaks for the OS:
    "\r\n" - Windows
    "\n"   - Other OS's
date_format string \DateTime::ISO8601 Format to use when converting dates to a string

Métodos

__construct($file_path)

Class Constructor. The file path to write to is set when this the object is created.

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.