php擴充套件SeasLog應用於 yii2 元件

2021-07-26 11:57:26 字數 2039 閱讀 8164

一.seaslog 簡單介紹及使用原因

它是c 寫的php擴充套件,效能很高,使用簡單,能滿足大部分簡單的日誌需求。(個人感覺)

其他優勢請看--》  , 

缺點:(使用時碰到的坑)

1.如果配置有差錯會直接報錯,程式不健壯會導致頁面直接掛掉,而且由於c寫的這種意外報錯你很難處理。(建議基本路徑和模組路徑一定要寫對;環境變更時 也要時刻注意)

2. cli模式和cgl 模式下的讀寫混合的話,會報錯,你注意區分下執行使用者,即使日誌檔案是 777,也要區分 (正常坑)

二.安裝與裝置(比較簡單,稍提一下)

2. 解壓並進入目錄,執行phpize,$/path/to/phpize

3.$ ./configure --with-php-config=/path/to/php-config

4.make && make install

三.因為公司使用的yii2 框架,我想要把這個日誌系統加入使用,並且可配置化,無論是加入還是移除都比較方便;其次我想要他自動補全,那樣開發起來效率高一些。

1.首先yii2 中的配置檔案web.php 總加入日誌類的指向:

說明: 我把我寫的seaslog類放在base層,並且配置日誌目錄,框架的runtime 目錄

return

[

//...

'components' =>[

'authmanager' =>[

//... ],];

2. 封裝日誌類

思想:為了配合的方便與檢視的清晰,我的每個日誌檔案與其命名空間對應,這樣日誌檔案對應的產生日誌的地方將一目了然(但是進入目錄時有點小麻煩);繼承yii2 的 object元件,以及修改部分框架的**以達到自動補全功能;

class seaslog extends

object

/*** @desc 通用記錄日誌的 方法,可以設定級別

* @author fredgui

* @param $message

* @param string $loggerpath 預設是default, 一般使用呼叫者的命名空間 目錄,php.ini 配置裡面 是 defaultlog

* @param $level 總共8個 級別 ,暫且用三個,seaslog_info,seaslog_warning,seaslog_error,

* seaslog_debug,seaslog_info,seaslog_notice,seaslog_warning,seaslog_error,seaslog_critical,seaslog_alert,seaslog_emergency

*/public

function

log($message,$loggerpath = 'default' ,$level =seaslog_warning )

else

}catch (exception$e)}}

/*** 記錄info日誌

* @param $message

* @param string $loggerpath

*/public

function info($message, $loggerpath = 'default')

.....(後續的設定多等級,可以看官網)

由此可以得到 如下的日誌目錄:

進入檢視:

最後,我們來完善下,自動補全,像這樣

python應用於網路 python應用於網路通訊

專案需要用到採用python實現維護測試工具,測試物件是linux裝置,需要在pc端採用python獲取linux裝置相關資訊 一 採用udp獲取普通資訊 udpserver socket af inet,sock dgram udpserver.bind ip,port data,client a...

bitmap應用於排序

這種方法只適合 資料不重複,已知資料範圍 的情況來自於 程式設計珠璣 所謂的bit map就是用乙個bit位來標記某個元素對應的value,而key即是該元素。由於採用了bit為單位來儲存資料,因此在 儲存空間方面,可以大大節省。如果說了這麼多還沒明白什麼是bit map,那麼我們來看乙個具體的例子...

MATLAB應用於濾波

1.什麼是影象的直方圖 2.直方圖均衡化 直方圖均衡化 histogram equalization 又稱直方圖平坦化,直方圖 拉伸是通過對比度拉伸對直方圖進行調整,從而 擴大 前景和背景灰度的差別,以達到增強 對比度的目的,這種方法可以利用線性或 非線性的方法來實現直方圖均衡化則通過使用累積函式對...