php日誌,記錄日誌

風來了發表於2013-07-25

開發中有些重要操作時,記錄資料庫日誌同時又要記錄檔案日誌,而且日誌不能和站點的其他日誌混在一起,所以寫了這麼個東東

/**日誌
 * Created by JetBrains PhpStorm.
 * User: feng
 * Date: 13-7-25
 * Time: 下午3:15
 * To change this template use File | Settings | File Templates.
 */
class Log {
    /**寫入日誌
     * @param $model 模組名稱,目錄名,允許字母/數字/下劃線/減號
     * @param $msg  日誌內容,可以為陣列
     * @param string $suffix    字尾名稱,可以為空,允許字母/數字/下劃線/減號/英文句號
     * @param string $prefix    字首名稱,可以為空,允許字母/數字/下劃線/減號/英文句號
     * @return bool
     */
    public static function Write($model,$msg,$suffix=``,$prefix=``){
        if(empty($msg)){
            return false;
        }
        if(is_array($msg)){
            $msg=var_export($msg,true);
        }
        $msg="
[time]".date(`Y:m:d H:i:s`).` `.$msg;
        //模組資料夾格式化,允許字母/數字/下劃線/減號
        $model=preg_replace ("/[^w-]/i",  "$1",  $model);
        $model=empty($model)?`none`:$model;
        //檔案儲存地址
        $file=WEBROOT.APPPATH.`logs/`.$model.`/`;
        if(!is_dir($file)){
            mkdir($file,0777);
        }
        $file.=date(`Y/`);
        if(!is_dir($file)){
            mkdir($file,0777);
        }
        $prefix=preg_replace ("/[^w-.]/i",  "$1",  $prefix);
        $suffix=preg_replace ("/[^w-.]/i",  "$1",  $suffix);
        $file.=$prefix.date(`m-d-`).$suffix.`.log`;
        error_log($msg,3,$file);
        return true;
    }
}


相關文章