日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LoggerOne

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LoggerOne 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LoggerOne

一個高效、簡約、靈活高性能的遵循 PSR-3 的 PHP 日志類庫實現。

特性

天然的緩存特性(Logger實例屬性),延遲批量寫入。

安裝&使用

Install

$?composer?require?logger-one/logger-one

默認的調用方式

在默認情況下,Logger會使用FileHandler?和?CommonFormatter?輸出一個保存在Logger同目錄的命名格式為?%Y%m%d的日志文件。

$logger?=?LoggerOne\Logger::getInstance();??//?Strongly?recommend$message?=?'test?log?message?{placeholder1}?{placeholder2}';$replacements?=?['placeholder1'?=>?'Foo',?'placeholder2'?=>?'bar']; $logger->info($message,?$replacements);

改變默認日志文件保存地址

$logFile?=?'./tmp/loggerOne.log';?//?Your?path?where?you?want$handler?=?new?LoggerOne\Handler\FileHandler($logFile);$logger->setHandler($handler);$logger->info($message);

指定使用特定的Handler/Formatter

$handler?=?new?LoggerOne\Handler\FooHandler();$handler?=?new?LoggerOne\Formatter\BarFormatter();$logger->setHandler($handler)->setFormatter($formatter);$logger->info('some?test?log?message');

立即輸出到日志文件的調用方法

這樣將不緩存日志內容,而把調用前所有的message立即寫入到標的處。

... $logger->info('some?test?log?message')->flush(); ...

定制&擴展

Handler的擴展方式

將你的擴展文件放置到LoggerOne/Handler目錄

<?php namespace?LoggerOne\Handler;class?MySQLHandler?implements?Handler { ????protected?$db; ???? ????protected?$table_name; ???? ???? ????public?function?__construct(string?$table_name,?object?$dbHandle?=?null) ????{ ????????$this->table_name?=?$table_name; ????????$this->db?=?$dbHandle; ????} ???? ????public?function?write($messages) ????{ ????????$batchData?=?[]; ????????foreach?($messages?as?$level?=>?$message)?{ ????????????$batchData[]?=?['level'?=>?$level,?'message'?=>?$message,?'created'?=>?time()]; ????????} ????????$this->db->insertBatch($this->table_name,?$batchData); ????} }

使用擴展

$logger?=?new?LoggerOne\Logger();$handler?=?new?LoggerOne\Handler\MysqlHandler($yourLogTableName,?$yourDbHandle);$logger->setHandler($handler);$logger->info('some?test?log?message');

?Formatter的擴展方式

聰明的你,你可以按你想發靈活的編寫你希望的Formatter處理類,過程和Handler擴展流程同理,放到Formatter目錄就可以開始使用了。

注意

  • 如果你不使用composer, 請記得用你的方式加載所有必須的依賴類庫。

  • 如果你做了Handler擴展,為了性能請盡量確保它是批量完成寫操作的。

Github地址:https://github.com/lijiebin/LoggerOne

轉載于:https://www.cnblogs.com/lijiebin/p/7046067.html

總結

以上是生活随笔為你收集整理的LoggerOne的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。