gyselroth/micro-log

此包已被 废弃 并且不再维护。作者建议使用 monolog/monolog 包代替。

简单的日志实现

v0.0.3 2018-01-08 12:55 UTC

This package is not auto-updated.

Last update: 2018-01-18 16:24:56 UTC


README

...但不是废话

Build Status Scrutinizer Code Quality Latest Stable Version GitHub release GitHub license

描述

要求

此库仅与 PHP7.1 及以上版本兼容。

下载

此包可在 Packagist 上找到:https://packagist.org.cn/packages/gyselroth/micro-log

要使用 composer 安装此包,请执行

composer require gyselroth/micro-log

日志记录器 (\Micro\Log)

描述

\Micro\Log 是一个支持 PSR-3 的日志记录器,具有多个日志适配器。

初始化

$logger = new Logger(Iterable $options);
$logger->info(string $message, array $context);

配置

$logger = new Logger([
  'adapter_name' => [
    'class'  => '\Micro\Log\Adapter\File',
    'config' => [
      'file'        => '/path/to/file',
      'date_format' => 'Y-d-m H:i:s', //https://php.ac.cn/manual/en/function.date.php
      'format'      => '{date} {level} {message} {context.category}',
      'level'       => 7 //PSR-3 log levels 1-7
    ],
  ],
  'adapter2_name' => []
]);

当然,您也可以使用配置对象(或任何其他可迭代的对象)初始化日志记录器。

<log>
  <adapter_name enabled="1" class="\Micro\Log\Adapter\File">
    <config>
      <file>/path/to/file</file>
      <date_format>Y-d-m H:i:s</date_format>
      <format>{date} {level} {message} {context.category}</format>
      <level>7</level>
    </config
  </adapter_name>
</log>
$config = new \Micro\Config(new \Micro\Config\Xml($path));
$logger = new Logger($config);

格式

消息格式在每个适配器中单独配置。可用的变量有

  • {message} - 消息本身
  • {date} - 使用配置的 date_format 选项格式化的当前时间戳
  • {level} - 日志级别,配置的数字将被替换为字符串,例如 7 => debug
  • {context.} - 您可以访问每个上下文选项并将它们包含在消息格式中。例如,如果您有一个上下文 ['category' => 'router'],那么您可以将 {context.category} 配置为在您的消息中包含此上下文值。

日志适配器

  • \Micro\Log\Adapter\File
  • \Micro\Log\Adapter\Blackhole
  • \Micro\Log\Adapter\Stdout
  • \Micro\Log\Adapter\Syslog

您始终可以使用 \Micro\Log\Adapter\AdapterInterface 创建自己的日志适配器。