gyselroth / micro-log
v0.0.3
2018-01-08 12:55 UTC
Requires
- php: >=7.1
- gyselroth/micro-container: *
- psr/log: 1.*
Requires (Dev)
- friendsofphp/php-cs-fixer: *
- phpstan/phpstan: ^0.8.5
- phpunit/phpunit: 5.7.*
This package is not auto-updated.
Last update: 2018-01-18 16:24:56 UTC
README
...但不是废话
描述
要求
此库仅与 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 创建自己的日志适配器。