interfasys/lognormalizer

解析变量并将它们转换为字符串,以便进行日志记录

v1.0 2015-08-01 16:27 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:06:59 UTC


README

Scrutinizer Code Quality Code Climate Build Status Code Coverage

解析变量并将它们转换为字符串,以便进行日志记录

基于 Monolog 格式化/标准化器。

如何使用

在您的类中进行初始化

use InterfaSys\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);