当前位置: 首页 > 后端技术 > PHP

LoggerOne-Efficient,simple,andhighlyextensiblePHPloglibrary

时间:2023-03-29 18:47:09 PHP

LoggerOneOneEfficient&Light&FlexiblehighperformancePHPlogimplementationofPSR-3一个高效、简单、灵活、高性能的PHP日志库实现,遵循PSR-3。Features/FeaturesInherently缓存消息记录使用PHP对象属性。天然缓存特性(Logger实例属性),延迟批量写入。Install&Use/Istall&UsageInstall$composerrequirelogger-one/logger-oneInvokebydefaultmode-默认调用模式将使用FileHandler在LoggerOne根文件夹中创建一个以%Y%m%d和附录.log命名的日志文件,ervery消息aslinewiththeoriginal-默认情况下,Logger将使用FileHandler和CommonFormatter输出格式为%Y%m%d的日志文件,保存在与Logger相同的目录中。$logger=LoggerOne\Logger::getInstance();//强烈推荐$message='testlogmessage{placeholder1}{placeholder2}';$replacements=['placeholder1'=>'Foo','placeholder2'=>'bar'];$logger->info($message,$replacements);ChangeFileHandlerdefaultpath-更改默认日志文件存放地址$logFile='./tmp/loggerOne.log';//你想要的路径$handler=newLoggerOne\Handler\FileHandler($logFile);$logger->setHandler($handler);$logger->info($message);SpecificHandler&Formatter-指定使用特定的Handler/Formatter$handler=newLoggerOne\Handler\FooHandler();$handler=newLoggerOne\Formatter\BarFormatter();$logger->setHandler($handler)->setFormatter($formatter);$logger->info('sometestlogmessage');Flushlogmessageimmediately-立即输出到日志文件的调用方法一旦调用flush方法将由处理程序写入所有以前的消息-这不会缓存日志内容,而是立即写入所有调用目标之前的消息。...$logger->info('sometestlogmessage')->flush();...定制&扩展/Customization&ExtendingHandlerExtensionSimple-Handler的扩展方式PutyourownMySQLHandler.phpinLoggerOne\Handlerfolder-将你的扩展文件放在LoggerOne/Handler目录table_name=$table_name;$this->db=$dbHandle;}publicfunctionwrite($messages){$batchData=[];foreach($messagesas$level=>$message){$batchData[]=['level'=>$level,'message'=>$message,'created'=>time()];}$this->db->insertBatch($this->table_name,$batchData);}}使用MySQLHandler.php-使用扩展$logger=newLoggerOne\Logger();$handler=newLoggerOne\Handler\MysqlHandler($yourLogTableName,$yourDbHandle);$logger->setHandler($handler);$logger->info('sometestlogmessage');FormatterExtensionSimple-Formatter的扩展方法方式就像Handlerextending-聪明的你,你可以按你的如果你想灵活写自己想要的Formatter处理类,过程和Handler扩展过程一样,可以在Formatter目录下开始使用注意/Notice如果你没有使用composer,记得按照你的方式加载所有依赖类.-如果你不使用composer,请记住以你的方式加载所有必要的依赖项。尽量让你的处理程序成批写入以提高性能——如果你做了一个处理程序扩展,请尽量确保它成批完成写入操作以提高性能。Github地址:https://github.com/lijiebin/L...