def/logger

单类PSR日志实现

dev-master 2016-08-07 02:23 UTC

This package is auto-updated.

Last update: 2024-08-29 04:30:57 UTC


README

(单类PSR兼容的PHP日志)

Build Status

基本用法

use def\Logger\Logger;

$logger = new Logger('php-app'); // or Logger::getLogger('php-app');

现在你可以设置一个可调用的写入器来处理日志消息

$logger->setWriter('print_r');

// or
// will print_r every 10 records formatted with default formatter
$logger->setWriter('print_r', Logger::ALL, 10);

已经定义了一些写入器,例如

$logger->setStreamWriter(STDERR, Logger::DEBUG | Logger::INFO); // there are also error_log, syslog and mail writers

你可以更改默认的格式化

$logger->setDefaultFormatter(function ($levelname, $message, array $context) {
    //
});

或者通过写入器传递自定义格式化器

$logger->setWriter('print_r', Logger::ALL, 10, function ($levelname, $message, array $context) {
    //
});

可以禁用某些级别进行处理

$logger->disable(Logger::DEBUG | Logger::INFO);

addContextProcessor 方法允许添加一些额外数据到上下文

$logger->addContextProcessor('some_key', function (array $context) {
    return 'some_value';
});