定制 koded/logging 二次开发

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

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

koded/logging

Composer 安装命令:

composer require koded/logging

包简介

A simple standalone logging facility with several log processors

README 文档

README

A simple message logging library that implements PSR-3 with several log processors. It supports multiple log writers that can be set separately and process messages based on the log level.

Latest Stable Version Build Status Code Coverage Scrutinizer Code Quality Minimum PHP Version

Installation

Use composer and run

composer require koded/logging

or add it manually in your current composer.json

{
  "require": {
    "koded/logging": "^3"
  }
}

Usage

<?php

$settings = [
    [
        ['class' => Cli::class, 'levels' => Log::ERROR],
        ['class' => File::class, 'levels' => Log::INFO]
    ]
];

$log = new Log(...$settings);

// This message is processed by Cli and File
$log->alert('The message with {variable}', ['variable' => 'useful info']);

// This message won't be processed by Cli 
// because it's level is below ERROR,
// but File will handle it
$log->warning("You don't see anything");

Configuration

Param Type Required Default Description
(processors) array yes (empty) An array of log processors. Every processor is defined in array with it's own configuration parameters. See processor directives
dateformat string no "d/m/Y H:i:s.u" The date format for the log message. Microseconds are prepended by default
timezone string no "UTC" The desired timezone for the log message

Processor default directives

Every log processor has it's own set of configuration directives.
The table shows log parameters in the classes.

Param Type Required Default Description
class string yes The name of the log processor class
levels integer no -1 Packed integer for bitwise comparison. See the constants in Logger class

Levels example

The messages are filtered with bitwise operator against the levels value. Every processor will filter out the messages as defined in it's levels directive.

For instance, to log only WARNING, INFO and ERROR messages, set levels to

<?php

[..., ['levels' => Log::WARN | Log::INFO | Log::ERROR, ...]],

Tips:

  • every processor is configured separately
  • if you want to process all log levels, skip the levels value or set it to -1 (by default)
  • if you want to suppress a specific processor, set it's level to 0

Processors

Class name Description
ErrorLog uses the error_log() function to send the message to PHP's logger
Cli write the messages in the console (with STDERR)
Memory will store all messages in an array. Useful for unit tests if the logger is involved
SysLog will open the system logger and send messages using the syslog() function
File saves the messages on a disk

Benchmarks and tests

vendor/bin/phpbench run --report=default
vendor/bin/phpunit

License

Software license The code is distributed under the terms of The 3-Clause BSD license.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2017-02-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固