<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[info]高性能的php日志系統 --seaslog,學習使用之前我們首先要搞明白,日志能給我們解決什么問題 - 自己搭建web日志系統,可以看項目中是咋弄的 - 什么是日志系統?? 1、記錄系統運行時的信息 2、記錄日志、應用程序、安全日志 3、日志功能不應該影響到用戶的正常使用 - 為什么需要日志系統?? 1、了解系統運行情況 2、記錄用戶操作信息 3、收集數據(如 500錯誤,出現了多少次) - 為什么選擇seaslog?? 1、高性能(C語言寫的) 2、無需配置(先寫閃存,達到一定量才寫到文件里) 3、功能完善使用簡單 - 實際項目中使用seaslog的場景?? 1、記錄有人來了 2、記錄用戶看沒看到,看到后記錄看到哪些 ... [toc] ## :-: **Win安裝** >[info] 下載擴展地址:https://pecl.php.net/package/SeasLog/1.6.9/windows - 根據PHP版本 是否線程安全 進行選擇 這些都可以在phpinfo里查得到 - 下載之后 把里面的php_seaslog.dll拷貝到PHP的安裝目錄下的ext里 - 然后打開php.ini進行配置 extension=php_seaslog.dll ## :-: **linux的安裝** >[warning]他是php的一個擴展,不是普通類庫 >[info]http://pecl.php.net/ 安裝php擴展來這個網站找包,或直接訪問:https://pecl.php.net/package/seaslog ![](https://box.kancloud.cn/8d4e6c1a12382410df5b117772b0095a_1031x123.png) ![](https://box.kancloud.cn/0242b612aef8614e89cdbc32d49fa441_619x71.png) 1、解壓,切換進去 2、輸入phpize 3、./configure --with-php-config=<span style="color:blue;">/www/server/php/54/bin/php-config</span> (你php-config所在的絕對路徑) 4、make && make install ![](https://box.kancloud.cn/709ef89e77a00b4513fc70855e21b5b7_622x62.png) 5、修改php.ini,最后一行加入<span style="color:blue;">extension=seaslog.so</span> ![](https://box.kancloud.cn/0870075bb6003503fa9c6d318a3bed60_575x196.png) >[warning]打印phpinfo()在瀏覽器查看是安裝成功了,但是在linux上執行php -m 沒有,我暫時也不知道是為什么,希望知道的大佬給我留言補充下 6、配置 seaslog ~~~ 配置詳解:http://php.net/manual/en/seaslog.configuration.php seaslog.default_basepath = /home/wwwlogs/seaslog #默認log根目錄 記著 是目錄 seaslog.default_logger = default #默認日志目錄 位于default_basepath目錄下的小目錄 seaslog.disting_type = 1 #是否以type分文件 1是 0否(默認) 若是 則每種級別都會單獨生成日志文件 seaslog.disting_by_hour = 0 #是否每小時劃分一個文件 1是 0否(默認) 若是 則每個小時都會生成新文件 seaslog.use_buffer = 1 #是否啟用buffer 1是 0否(默認) 默認關閉,當開啟此項時,日志預存于內存,當請求結束時(或異常退出時)一次寫入文件。 seaslog.buffer_size = 100 #buffer中緩沖數量 默認0(不使用) seaslog.level = 0 #記錄日志級別 默認0(所有日志) seaslog.trace_error = 1 seaslog.trace_exception = 0 seaslog.default_datetime_format = "Y:m:d H:i:s ~~~ 第二條配置seaslog.default_logger我選擇在項目的入口文件中再指定Seaslog::setLogger('...') 這樣就可以每個項目一個日志目錄了 7、SeasLog 日志8個級別 debug -> info -> notice -> warning -> error -> critical -> alert -> emergency ## :-: **常用方法** ![](https://box.kancloud.cn/9d448c800b69bb53c1828baa55efc9b6_502x134.png) - 這些方法都是靜態方法,可以直接調用。測試時拿瀏覽器訪問,或php -f 要執行的php文件 ``` php basepath:存日志的路徑 設置:Seaslog::setBasePath('/log/base_test'); 獲取:Seaslog::getBasePath(); ``` ``` php logger:同模塊存到不同路徑下 設置:Seaslog::setLogger('app'); 獲取:Seaslog::getLastLogger(); SeasLog::setLogger('ms/normaltest'); //示例 ``` ``` php 寫日志: Seaslog::debug('...') Seaslog::info('...') SeasLog::info('計費接口結果:' . json_encode($bossResult,JSON_UNESCAPED_UNICODE)); ``` ``` php Seaslog::notice('...') 八個級別都可以記錄 日志內容格式為:級別-pid-時間戳-格式化時間-日志內容 ``` ``` php 讀取日志條數 Seaslog::analyzerCount('{日志級別}');//如果不填參數 則代表統計全部級別 Seaslog::analyzerCount('{日志級別}','20170914');指定統計某一天的日志 ``` ``` php 讀取日志 Seaslog::analyzerDetail('{日志級別}','20170914');//也有兩個參數 日志級別和指定時間 第一個日志級別參數必填 時間可選 ``` ``` php 輸出info級別的日志: echo "<pre>"; print_r(Seaslog::analyzerDetail('info')); echo "</pre>"; analyzerCount:日志統計 ``` ## :-: **在框架中使用** - 某些PHP框架默認為當前控制器命名空間 所以會報Seaslog not found 只需在前面指定根命名空間就OK: \Seaslog::debug('...') - 第1種:安裝php擴展(win裝win的,linux裝linux的),直接調函數 - 第2種:將該類庫從github上,使用composer或其他手法加載到框架中 然后就和使用普通類庫一樣 思路1、在控制器 直接調用 思路2、改log的配置文件 ![](https://box.kancloud.cn/06ad98daa0b9be66f1e1aeb274d17844_497x100.png) 然后自己封裝(和思路1一樣,也是在控制器或模型的方法中直接調用) ![](https://box.kancloud.cn/03469f9b779ba8ed06772a013fc84000_764x284.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看