syonix / monolog-parser
monolog 日志条目的解析器
dev-master
2024-08-27 08:13 UTC
Requires (Dev)
- phpunit/phpunit: 11.3.*
This package is auto-updated.
Last update: 2024-08-27 09:29:37 UTC
README
一个简单的库,用于解析 monolog 日志文件。
安装
您可以通过将 ddtraceweb/monolog-parser
添加到您的 composer.json
文件中,使用 composer 安装此库。
使用方法
- 1 天的日志
require_once 'path/to/vendor/autoload.php'; use Dubture\Monolog\Reader\LogReader; $logFile = '/path/to/some/monolog.log'; $reader = new LogReader($logFile); foreach ($reader as $log) { echo sprintf("The log entry was written at %s. \n", $log['date']->format('Y-m-d h:i:s')); } $lastLine = $reader[count($reader)-1]; echo sprintf("The last log entry was written at %s. \n", $lastLine['date']->format('Y-m-d h:i:s'));
- 选项 无限制天数日志
require_once 'path/to/vendor/autoload.php'; use Dubture\Monolog\Reader\LogReader; $logFile = '/path/to/some/monolog.log'; $reader = new LogReader($logFile, 0); foreach ($reader as $log) { echo sprintf("The log entry was written at %s. \n", $log['date']->format('Y-m-d h:i:s')); } $lastLine = $reader[count($reader)-1]; echo sprintf("The last log entry was written at %s. \n", $lastLine['date']->format('Y-m-d h:i:s'));
- 选项 2 天日志
require_once 'path/to/vendor/autoload.php'; use Dubture\Monolog\Reader\LogReader; $logFile = '/path/to/some/monolog.log'; $reader = new LogReader($logFile, 2); foreach ($reader as $log) { echo sprintf("The log entry was written at %s. \n", $log['date']->format('Y-m-d h:i:s')); } $lastLine = $reader[count($reader)-1]; echo sprintf("The last log entry was written at %s. \n", $lastLine['date']->format('Y-m-d h:i:s'));
- 添加自定义模式
require_once 'path/to/vendor/autoload.php'; use Dubture\Monolog\Reader\LogReader; $logFile = '/path/to/some/monolog.log'; $reader = new LogReader($logFile); $pattern = '/\[(?P<date>.*)\] (?P<logger>[\w-\s]+).(?P<level>\w+): (?P<message>[^\[\{]+) (?P<context>[\[\{].*[\]\}]) (?P<extra>[\[\{].*[\]\}])/'; $reader->getParser()->registerPattern('newPatternName', $pattern); $reader->setPattern('newPatternName'); foreach ($reader as $log) { echo sprintf("The log entry was written at %s. \n", $log['date']->format('Y-m-d h:i:s')); } $lastLine = $reader[count($reader)-1]; echo sprintf("The last log entry was written at %s. \n", $lastLine['date']->format('Y-m-d h:i:s'));