calguy1000/logger

一款强大的应用程序日志记录和日志查询工具。

dev-master 2016-08-17 02:05 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:10:37 UTC


README

一个简单的日志工具,具有轮换、并发、重复计数和搜索支持。

此库为您应用程序提供将调试信息、信息、警告和错误记录到文本文件的能力。该库支持轮换、按顺序计数重复消息、从多个进程写入同一文件以及查询文件。它适用于需要各种调试、日志记录或审计功能的程序。

功能

  • 提供一种简单、可扩展的机制,允许应用程序执行日志记录。
  • 提供日志接口
  • FileLogger类可以计数相同的连续消息
  • 可以跟踪单独的(或组合的)键。被称为“部分”和“项”
  • AutoRotateFileLogger支持基于文件大小(千字节)或年龄(小时)的最大文件数进行日志轮换。
  • 使用独占锁定来锁定文件以供写入
  • 支持简单查询保存的日志文件

简单的文件日志记录

require '../vendor/autoload.php'
use calguy1000\logger\FileLogger as FileLogger;
$logger = new FileLogger('logfile.txt');
$logger->debug('A debug message');
$logger->info('An information message');
$logger->warn('A warning message');
$logger->error('A fatal error');

使用自动轮换记录器

require '../vendor/autoload.php'
use calguy1000\logger\AutoRotateFileLogger as AutoRotateFileLogger;
$logger = new AutoRotateFileLogger('logfile.txt',24,2000,30);
$logger->debug('A debug message');
$logger->info('An information message');
$logger->warn('A warning message');
$logger->error('A fatal error');

查询日志

require '../vendor/autoload.php'
use calguy1000\logger\Logger as Logger;
$parms = [ 'filename'=>'logfile.txt','limit'=>50,'msg'=>'*fatal*` ];
$query = new Logger\query($parms);
$rs = $query->execute();
foreach( $rs as $key => $item ) {
   print_r($item);
}

局限性

  • 每个日志字符串的最大长度为512字节
  • 日志文件的大小最大为50mb
  • 日志文件的最大年龄为60天。