onnerby/doelogger

JSON日志写入器/读取器

1.0 2023-01-02 10:54 UTC

This package is auto-updated.

Last update: 2024-09-25 17:07:48 UTC


README

PHP的JSON日志记录器 有时候你需要记录一些东西 - 但你可能需要在以后读取日志,并能以很好的方式解释日志内容。这正是JSON发挥作用的地方,因为你可以通过简单的方式序列化和反序列化。日志使用文件锁来防止文件损坏。

\Doe\Logger

Doe\Logger 是为了使数据记录和读取变得非常简单而设计的。

安装

composer require onnerby/doelogger

基本示例

// Initialize the log by
\Doe\Logger::addDefaultStream('/var/log/mylog')

// The anywhere in your code
\Doe\Logger::write('adduser', 'Added a new user', $user);

这将创建一个名为 adduser 的日志条目,并使用提供的数据。记录器将在 /var/log/mylog_2023-01-02.json 文件(如果尚未存在)中创建一个文件,并在该日志中写入一个类似以下内容的JSON条目

{
	"when": 1672656212.123,
	"type": "adduser",
	"content": [
		...
	]
}

读取

// Initialize the log by
\Doe\Logger::addDefaultStream('/var/log/mylog')

// Get a reader for the last 24 hours
$logReader = \Doe\Logger::reader('default', microtime(true) - 60*60*24);

// Loop through the log
foreach ($logReader as $logEntry) {
	echo "Log " . date('Y-m-d H:i:s', $logEntry['when']) . ' ' . $logEntry['type'] . "\n";
	echo "  User: " . json_encode($logEntry['content'][0]) . "\n";
}