欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何在php項(xiàng)目中自定義錯(cuò)誤日志-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何在php項(xiàng)目中自定義錯(cuò)誤日志,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

上城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

在寫日志前,我們問問自己:為什么我們有時(shí)要記錄自定義的日志呢?而不用系統(tǒng)默認(rèn)的日志記錄方式呢?


我認(rèn)為有兩個(gè)原因:

1.團(tuán)隊(duì)需要一個(gè)統(tǒng)一格式的日志方便管理

2.大量無用錯(cuò)誤日志占據(jù)硬盤空間,僅需記錄有意義的日志。

 那么,實(shí)踐一下。

1.打開你的php.ini

 2.打開日志記錄,將

復(fù)制代碼 代碼如下:


log_errors = Off


改成

復(fù)制代碼 代碼如下:


log_errors = On


3.將php.ini保存退出并重啟web服務(wù)器

4.在你的代碼最前面加上如下代碼

復(fù)制代碼 代碼如下:


<?php
//錯(cuò)誤處理函數(shù)
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    $log_file = "./php_%s_log_".date("Ymd").".log";//定義日志文件存放目錄和文件名
    $template = '';
    switch ($errno) {
    case E_USER_ERROR:
        $template .= "用戶ERROR級(jí)錯(cuò)誤,必須修復(fù) 錯(cuò)誤編號(hào)[$errno] $errstr ";
        $template .= "錯(cuò)誤位置 文件$errfile,第 $errline 行\(zhòng)n";
        $log_file = sprintf($log_file,'error');
        exit(1);//系統(tǒng)退出
        break;
    case E_USER_WARNING:
        $template .= "用戶WARNING級(jí)錯(cuò)誤,建議修復(fù) 錯(cuò)誤編號(hào)[$errno] $errstr ";
        $template .= "錯(cuò)誤位置 文件$errfile,第 $errline 行\(zhòng)n";
        $log_file = sprintf($log_file,'warning');
        break;
    case E_USER_NOTICE:
        $template .= "用戶NOTICE級(jí)錯(cuò)誤,不影響系統(tǒng),可不修復(fù) 錯(cuò)誤編號(hào)[$errno] $errstr ";
        $template .= "錯(cuò)誤位置 文件$errfile,第 $errline 行\(zhòng)n";
    $log_file = sprintf($log_file,'notice');
        break;
    default:
        $template .= "未知錯(cuò)誤類型: 錯(cuò)誤編號(hào)[$errno] $errstr  ";
        $template .= "錯(cuò)誤位置 文件$errfile,第 $errline 行\(zhòng)n";
        $log_file = sprintf($log_file,'unknown');
        break;
    }
    file_put_contents($log_file,$template,FILE_APPEND);
    return true;
}
$error_handler = set_error_handler("myErrorHandler");//開啟自定義錯(cuò)誤日志


5.試著在剛才的代碼后寫下一段錯(cuò)誤代碼

echo 1/0;

看看你定義的路徑下是否多了一個(gè)日志文件呢?:)

注:以下級(jí)別的錯(cuò)誤不能由用戶定義的函數(shù)來處理: E_ERROR、 E_PARSE、 E_CORE_ERROR、 E_CORE_WARNING、 E_COMPILE_ERROR、 E_COMPILE_WARNING,和在 調(diào)用 set_error_handler() 函數(shù)所在文件中產(chǎn)生的大多數(shù) E_STRICT。

 不過當(dāng)你開啟了錯(cuò)誤日志系統(tǒng)(php.ini中的log_error = on)并且指定了系統(tǒng)日志文件(同樣也是php.ini中的error_log=路徑名),并且error_reporting開啟了全部后,以上的錯(cuò)誤都會(huì)作為系統(tǒng)錯(cuò)誤日志而記錄在你定義的文件中。

上述就是小編為大家分享的如何在php項(xiàng)目中自定義錯(cuò)誤日志了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:如何在php項(xiàng)目中自定義錯(cuò)誤日志-創(chuàng)新互聯(lián)
文章URL:http://chinadenli.net/article4/desioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站營銷、虛擬主機(jī)、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)