nextcloud / lognormalizer
解析变量并将它们转换为字符串以便记录
v1.0.0
2020-12-02 09:34 UTC
Requires
- php: >=7.2.0
- ext-json: *
Requires (Dev)
- phpunit/phpunit: 8.*
This package is not auto-updated.
Last update: 2024-09-20 03:23:15 UTC
README
解析变量并将它们转换为字符串以便记录
基于Monolog 格式化/标准化器。
如何使用
在类中的初始化
use Nextcloud\LogNormalizer\Normalizer; $normalizer = new Normalizer();
构造函数支持以下可选参数
int $maxRecursionDepth
: 你想要在对象和数组中到达的最大深度int $maxArrayItems
: 解析数组或对象时想要显示的最大元素数量string $dateFormat
: 日期应用的格式
在记录前格式化变量
你的记录函数可能看起来像这样
/** * Converts the variables in the received log message to string before * sending everything to the real logger * * @param string $level * @param string $message * @param array $variables * * @return mixed */ public function log($level, $message, array $variables= []) { array_walk($variables, [$this->normalizer, 'format']); // Then use your current PSR-3 compatible logging system $this->logger->log($level, $message, $variables); }
然后你可以从另一个类这样调用它
$myLogger->log('debug', 'Logger test {var1}, {var2}', [ 'var1' => $var1, 'var2' => $var2 ] );
将单个变量转换为字符串
$normalizedVariable = $this->normalizer->format($variable);