<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之旅 廣告
                ### 簡介 #### 什么是SeasLog SeasLog是一個C語言編寫的PHP擴展,提供一組規范標準的功能函數,在PHP項目中方便、規范、高效地寫日志,以及快速地讀取和查詢日志。 #### 為什么使用SeasLog log日志,通常是系統或軟件、應用的運行記錄。通過log的分析,可以方便用戶了解系統或軟件、應用的運行情況;如果你的應用log足夠豐富,也可以分析以往用戶的操作行為、類型喜好、地域分布或其他更多信息;如果一個應用的log同時也分了多個級別,那么可以很輕易地分析得到該應用的健康狀況,及時發現問題并快速定位、解決問題,補救損失。 php內置error_log、syslog函數功能強大且性能極好,但由于各種缺陷(error_log無錯誤級別、無固定格式,syslog不分模塊、與系統日志混合),靈活度降低了很多,不能滿足應用需求。 好消息是,有不少第三方的log類庫彌補了上述缺陷,如log4php、plog、Analog等(當然也有很多應用在項目中自己開發的log類)。其中以log4php最為著名,設計精良、格式完美、文檔完善、功能強大。推薦。 不過log4php在性能方面表現非常差,下圖是SeasLog與log4php的ab并發性能測試( 測試環境:Ubuntu12.04單機,CPU I3,內存 16G,硬盤 SATA 7200): SeasLogVSlog4php ![](https://box.kancloud.cn/86c4f102af29132eb568ca6e08cff206_791x372.png) 那么有沒有一種log類庫滿足以下需求呢: * 分模塊、分級別 * 配置簡單(最好是勿須配置) * 日志格式清晰易讀 * 應用簡單、性能很棒 SeasLog 正是應此需求而生。 目前提供了什么 1. 在PHP項目中便捷、規范地記錄log 2. 可配置的默認log目錄與模塊 3. 指定log目錄與獲取當前配置 4. 初步的分析預警框架 5. 高效的日志緩沖、便捷的緩沖debug 6. 遵循 PSR-3 日志接口規范 7. 自動記錄錯誤信息 8. 自動記錄異常信息 9. 連接TCP端口,以RFC5424格式發送日志 10. 連接UDP端口,以RFC5424格式發送日志 11. 支持RequestId區分請求 12. 支持日志模板自定義 目標是怎樣的 * 便捷、規范的log記錄 * 高效的海量log分析 * 可配置、多途徑的log預警 #### 性能要求 既然是日志,免不了會寫文件,或者通過pipe通過網絡傳送到某個存儲中心(我們暫不考慮存儲中心的設計)。可以想見,假設一個請求中需要寫出1000處log,那么勢必會有1000次IO,這對性能將是一個很大的拖延點。一般對于處理這種多次相同的請求場景,我們要解決的其實也很簡單,使用cache或buffer,把多次請求作歸并,從而降低對磁盤或網絡的IO,這是一個基本的思想。 SeasLog也是這么做的。設定一個buffer_size(默認100條log),使用PHP請求內存,每寫一次log,塞入內存,同時buffer_size加;當buffer_size等于設置值時,則進行一次IO,同時清除buffer; 當然,如果請求結束了、或執行了die、exit或其他異常退出時,不管buffer_size有沒有攢夠設置值,立刻進行一次IO,同時清除buffer。 到目前為止,SeasLog的正式版本,采用Apache 2.0開源協議,同時可以在php.net官方,和Github庫上獲得它的完整代碼。 [Php.net](http://pecl.php.net/package/seaslog) [Github](https://github.com/Neeke/SeasLog)
                  <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>

                              哎呀哎呀视频在线观看