定制 flotzilla/logger 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

flotzilla/logger

Composer 安装命令:

composer require flotzilla/logger

包简介

PSR-3 logger implementation

README 文档

README

MIT License

Logger

PSR-3 logger interface implementation inspired by monolog

Requirements

php > 7.3

Install

via Composer

$ composer require flotzilla/logger

Description

Basic usage

$logger = new Logger();
$channel = new Channel('logs', [
        new FileHandler( new SimpleLineFormatter())
    ]);

$logger->addChannel($channel);

$logger->info('some data');
$logger->error('some message', ['data' => ['name' => 'John', 'job' => 'night watcher']]);

Advanced usage

Initialization

use \flotzilla\Logger\Channel\Channel;
use \flotzilla\Logger\Formatter\JsonFormatter;
use \flotzilla\Logger\Handler\ConsoleHandler;
use \flotzilla\Logger\Handler\FileHandler;
use \flotzilla\Logger\Logger;
use \flotzilla\Logger\LogLevel\LogLevel;
use \flotzilla\Logger\Formatter\PsrFormatter;
use \flotzilla\Logger\Formatter\SimpleLineFormatter;

$logger = new Logger();

//output will be written to /tmp/main-logs.log
$channel = new Channel('logs-all', [
        new FileHandler(new SimpleLineFormatter(), '/tmp', 'main-logs')
    ]);

// set log levels for this channel
$debugChannel = new Channel('debug', [
        new FileHandler(new SimpleLineFormatter(), 'tmp', 'debug'),
        new FileHandler(new PsrFormatter()) // /tmp dir by default
    ], LogLevel::DEBUG, LogLevel::NOTICE);

$criticalChannel = new Channel('critical-only', [
        new FileHandler(new SimpleLineFormatter(), '/tmp', 'critical'),
        new FileHandler(new JsonFormatter(), '/tmp', 'critical')
    ], LogLevel::CRITICAL, LogLevel::EMERGENCY);

// write output to console
$channel = new Channel('logs', [
        new ConsoleHandler(new SimpleLineFormatter())
    ]);

// add channels 
$logger->addChannel($channel);
$logger->addChannel($debugChannel);
$logger->addChannel($criticalChannel);

// or set them all 
$logger->setChannels([$channel, $debugChannel, $criticalChannel]);

// or pass to constructor
$logger = new Logger([$channel, $debugChannel, $criticalChannel]);

Channels

// disable channel for writing 
$logger->getChannel('debug')->setEnabled(false);

// set maximal log level for filtering
$logger->getChannel('test')->setMaxLogLevel('error');

// set minimal log level for filtering
$logger->getChannel('test')->setMinLogLevel('info');

Set custom datetime format and timezone

$logger = new Logger($channels, 'Y.j.m', new DateTimeZone('Europe/London'));

Testing

$ composer test
$ composer test_mock

Benchmarks

$ composer bench

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-03-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固