kod/logger

Psr 3 日志实现

1.0.0 2018-11-10 17:25 UTC

This package is auto-updated.

Last update: 2024-09-15 10:47:10 UTC


README

Build Status

轻量级且易于定制的 PSR-3 标准日志实现。

要求

日志器与 PHP >=7.1 兼容。

安装

使用 composer 安装最新版本

$ composer require kod/logger

使用方法

基本使用。使用默认日志设置将消息以 json 格式记录到 'php://stderr'。非常适合 Docker 环境且无需额外配置。

<?php
use Kod\Logger;

$log = new Logger();
$log->debug('Debug message', [
    'client_login' => 'login@domain.com',
]);

注意上下文数据(client_login 字段)被简单地合并到默认的数据结构中。

{
  "message": "Debug message",
  "level": "debug",
  "level_code": 7,
  "datetime": "2018-11-07T19:10:33.757+01:00",
  "client_login": "login@domain.com"
}

以下是一个更高级的日志到文件的配置示例。在这个例子中,我们扩展了一个默认的日志数据结构,并添加了一些必须附加到每个日志的字段。如果这些字段没有被上下文数据覆盖,它们将具有默认值。

<?php
use Kod\Logger;

$log = new Logger([
    'message' => [
        // extend default log's data
        'fields' => [
            'client_name' => '',
            'client_login' => '',
            'request_uri' => $_SERVER['REQUEST_URI'],
            'client_ip' => $_SERVER['REMOTE_ADDR'],
        ],
    ],
    // distribution channels: places where logs must be written 
    'channels' => [
        [
            'handler' => [
                'path' => '/var/tmp/debug.log'
            ],
        ],
    ],
]);

$log->debug('Debug message', [
    'client_login' => 'login@domain.com',
]);

这是我们的日志消息

{
    "message": "Debug message",
    "level": "debug",
    "level_code": 7,
    "datetime": "2018-11-07T19:10:33.757+01:00",
    "client_name": "",
    "client_login": "login@domain.com",
    "request_uri": "/",
    "client_ip": "127.0.0.1"
}

文档

关于

提交错误和功能请求

错误和功能请求在 GitHub 上跟踪

作者

Konstantin Deryabin - kderyabin@orange.fr

许可协议

Logger 采用 MIT 许可协议 - 有关详细信息,请参阅 LICENSE 文件