亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

LoggerOne - 高效、簡(jiǎn)約、強(qiáng)擴(kuò)展性PHP日志類庫(kù)

Soarkey / 2444人閱讀

摘要:一個(gè)高效簡(jiǎn)約靈活高性能的遵循的日志類庫(kù)實(shí)現(xiàn)。特性天然的緩存特性實(shí)例屬性,延遲批量寫入。注意如果你不使用請(qǐng)記得用你的方式加載所有必須的依賴類庫(kù)。如果你做了擴(kuò)展,為了性能請(qǐng)盡量確保它是批量完成寫操作的。

LoggerOne

One Efficient & Light & Flexible high performance PHP log implemention of PSR-3
一個(gè)高效、簡(jiǎn)約、靈活高性能的遵循PSR-3的PHP日志類庫(kù)實(shí)現(xiàn)。

特性/Features

Inherently cached message record using PHP object attribute.
天然的緩存特性(Logger實(shí)例屬性),延遲批量寫入。

安裝&使用/Istall&Usage Install
$ composer require logger-one/logger-one
Invoke by default mode - 默認(rèn)的調(diào)用方式 Will using FileHandler create a log file named for %Y%m%d and appendix .log at LoggerOne root folder, ervery message as line with the original - 在默認(rèn)情況下,Logger會(huì)使用FileHandlerCommonFormatter 輸出一個(gè)保存在Logger同目錄的命名格式為 %Y%m%d的日志文件。
$logger = LoggerOneLogger::getInstance();  // Strongly recommend

$message = "test log message {placeholder1} {placeholder2}";

$replacements = ["placeholder1" => "Foo", "placeholder2" => "bar"];

$logger->info($message, $replacements);
Change FileHandler default path - 改變默認(rèn)日志文件保存地址
$logFile = "./tmp/loggerOne.log"; // Your path where you want

$handler = new LoggerOneHandlerFileHandler($logFile);

$logger->setHandler($handler);

$logger->info($message);
Specific Handler & Formatter - 指定使用特定的Handler/Formatter
$handler = new LoggerOneHandlerFooHandler();

$handler = new LoggerOneFormatterBarFormatter();

$logger->setHandler($handler)->setFormatter($formatter);

$logger->info("some test log message");
Flush log message immediately - 立即輸出到日志文件的調(diào)用方法 Once calling flush method will write all previous message by handler - 這樣將不緩存日志內(nèi)容,而把調(diào)用前所有的message立即寫入到標(biāo)的處。
...
$logger->info("some test log message")->flush();
...
定制&擴(kuò)展/Customization&Extending Handler Extension Simple - Handler的擴(kuò)展方式 Put your own MySQLHandler.php in LoggerOneHandler folder - 將你的擴(kuò)展文件放置到LoggerOne/Handler目錄
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);
    }
}
Use MySQLHandler.php - 使用擴(kuò)展
$logger = new LoggerOneLogger();

$handler = new LoggerOneHandlerMysqlHandler($yourLogTableName, $yourDbHandle);

$logger->setHandler($handler);

$logger->info("some test log message");
Formatter Extension Simple - Formatter的擴(kuò)展方式 The way just like Handler extending - 聰明的你,你可以按你想發(fā)靈活的編寫你希望的Formatter處理類,過(guò)程和Handler擴(kuò)展流程同理,放到Formatter目錄就可以開(kāi)始使用了。 注意/Notice

If you have not using composer, should remember load all dependency class in your way. - 如果你不使用composer, 請(qǐng)記得用你的方式加載所有必須的依賴類庫(kù)。

Try to keep your handler write in batches for performace - 如果你做了Handler擴(kuò)展,為了性能請(qǐng)盡量確保它是批量完成寫操作的。

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/23088.html

相關(guān)文章

  • PHP框架中的日志系統(tǒng)

    摘要:一的幾個(gè)函數(shù)異常捕獲自定義處理函數(shù)注冊(cè)錯(cuò)誤捕獲自定義處理函數(shù)注冊(cè)程序執(zhí)行時(shí)異常終止錯(cuò)誤捕獲處理函數(shù)注冊(cè)這三個(gè)函數(shù)在錯(cuò)誤處理控制中給開(kāi)發(fā)者提供了很大的自主空間,在日志系統(tǒng)中記錄日志信息有他們的功勞。下面要說(shuō)的類庫(kù)是借鑒了日志系統(tǒng)的設(shè)計(jì)。 引言 接觸過(guò)php框架的朋友們可能都知道,日志在項(xiàng)目中的重要作用了,他可以幫助我們定位錯(cuò)誤的位置,讓程序更友好(處理得當(dāng)?shù)脑挷粫?huì)直接拋出一大堆只有程...

    ningwang 評(píng)論0 收藏0
  • thinkphp源碼分析(一)—開(kāi)門篇

    摘要:源碼分析開(kāi)門篇生命周期入口文件用戶發(fā)起的請(qǐng)求都會(huì)經(jīng)過(guò)應(yīng)用的入口文件,通常是文件。注冊(cè)錯(cuò)誤和異常機(jī)制執(zhí)行注冊(cè)錯(cuò)誤和異常處理機(jī)制。由三部分組成應(yīng)用關(guān)閉方法錯(cuò)誤處理方法異常處理方法注冊(cè)應(yīng)用關(guān)閉方法是為了便于攔截一些系統(tǒng)錯(cuò)誤。 源碼分析—開(kāi)門篇 thinkphp生命周期 1、入口文件 用戶發(fā)起的請(qǐng)求都會(huì)經(jīng)過(guò)應(yīng)用的入口文件,通常是 ==public/index.php==文件。當(dāng)然,你也可以更改...

    flybywind 評(píng)論0 收藏0
  • IMI 基于 Swoole 開(kāi)發(fā)的協(xié)程 PHP 開(kāi)發(fā)框架 常駐內(nèi)存、協(xié)程異步非阻塞

    摘要:介紹是基于開(kāi)發(fā)的協(xié)程開(kāi)發(fā)框架,擁有常駐內(nèi)存協(xié)程異步非阻塞等優(yōu)點(diǎn)。宇潤(rùn)我在年開(kāi)發(fā)并發(fā)布了第一個(gè)框架,一直維護(hù)使用至今,非常穩(wěn)定,并且有文檔。于是我走上了開(kāi)發(fā)的不歸路 showImg(https://segmentfault.com/img/bVbcxQH?w=340&h=160); 介紹 IMI 是基于 Swoole 開(kāi)發(fā)的協(xié)程 PHP 開(kāi)發(fā)框架,擁有常駐內(nèi)存、協(xié)程異步非阻塞IO等優(yōu)點(diǎn)。...

    airborne007 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<