✏️ 编辑:ConsoleLogger.php
路径:
/home/forge/woocommerce-square/vendor/apimatic/core/src/Logger/ConsoleLogger.php
大小:1.22 KB · 修改:2025-12-23 20:26:26 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php namespace Core\Logger; use Closure; use Core\Utils\CoreHelper; use Psr\Log\AbstractLogger; use Psr\Log\InvalidArgumentException; class ConsoleLogger extends AbstractLogger { /** * A callable function that takes in a format and any number of parameters to satisfy that format. * For example: "printf", will be called like printf('%s %s', 'a', 'b') * * @var callable */ private $printer; public function __construct(callable $printer) { $this->printer = $printer; } /** * @inheritDoc */ public function log($level, $message, array $context = []): void { if (!in_array($level, LoggerConstants::ALLOWED_LOG_LEVELS, true)) { throw new InvalidArgumentException( "Invalid LogLevel: $level. See Psr\Log\LogLevel.php for possible values of log levels." ); } Closure::fromCallable($this->printer)("%s: %s\n", $level, str_replace( array_map(function ($key) { return '{' . $key . '}'; }, array_keys($context)), array_map(function ($value) { return CoreHelper::serialize($value); }, $context), $message )); } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF