smalex86 / logger
简单的日志系统
v1.7.8
2018-10-17 16:09 UTC
Requires
- php: >=7.0.0
- psr/log: ^1.0
README
适用于PsrLog的简单日志系统
- Logger - 包含和管理路由的基本日志类
- Route - 路由的基本类
- SimpleLoggerFactory - 简单(文件)日志工厂
- SimpleStaticLogger - 不适用于PsrLog
- route
- CachedFileRoute - 使用缓存进行文件日志的路由
- ConsoleRoute - 控制台输出日志信息的路由(用于命令行模式)
- ConsoleRouteWithPid - 带进程ID信息的控制台输出日志信息的路由(用于命令行模式)
- DatabaseRoute - 数据库日志路由
- FileRoute - 简单Logger,文件日志路由
- FileRouteWithPid - 打印进程ID到日志消息的文件日志路由
- SyslogRoute - syslog路由
- tests
要使用此日志记录器,请写入composer.json
{ "repositories": [ { "type": "vcs", "url": "https://github.com/smalex86/logger" } ], "require": { "smalex86/logger": "1.7.8" } }
并将以下文本添加到您的项目中
使用PSR-4自动加载器使用它
use smalex86\logger\Logger;
如果您想使用适合Psr\Log\LoggerInterface的动态对象,请在项目中写入以下命令
$logger = new Logger(); $logger->routeList->attach(new smalex86\logger\route\FileRoute([ 'isEnabled' => true, 'maxLevel' => 7, 'logFile' => 'test.log', 'folder' => dirname(__DIR__, 2) . '/logs/' ])); $logger->routeList->attach(new smalex86\logger\route\CachedFileRoute([ 'isEnabled' => true, 'maxLevel' => 7, 'logFile' => 'cacheTest.log', 'folder' => dirname(__DIR__, 2) . '/logs/', 'cacheSize' => 50 ])); $logger->routeList->attach(new smalex86\logger\route\ConsoleRoute([ 'isEnabled' => true, 'maxLevel' => 7 ])); $logger->routeList->attach(new smalex86\logger\route\ConsoleRouteWithPid([ 'isEnabled' => true, 'maxLevel' => 7 ])); $logger->routeList->attach(new smalex86\logger\route\DatabaseRoute([ 'isEnabled' => true, 'maxLevel' => 6, 'dsn' => 'mysql:host=localhost;port=3306;dbname=test', 'username' => 'root', 'password' => '', 'table' => 'project_log' ])); $logger->routeList->attach(new smalex86\logger\route\SyslogRoute([ 'isEnabled' => true, 'maxLevel' => 5 ])); $logger->info('info', ['class'=>'Logger', 'method'=>'getName', '38']); // PsrLog style
一些示例
$logger->emergency('emergency test', ['test'=>'value', '32']); $logger->alert('alert test', ['test'=>'value', 1=>'33']); $logger->critical('critical test'); $logger->error('error test', ['34', '35']); $logger->warning('warning test', ['36', '37']); $logger->notice('notice test'); $logger->info('info', ['class'=>'Logger', 'method'=>'getName', '38']); $logger->debug('debug test', [__LINE__]);