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目錄
使用擴展
$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
總結
- 上一篇: 洛谷 P3183 [HAOI2016]食
- 下一篇: UVa11292 - Dragon of