新聞中心
怎么讓php打印錯誤日志?
(1)使用echo ,簡單輸出
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供木壘哈薩克網(wǎng)站建設(shè)、木壘哈薩克做網(wǎng)站、木壘哈薩克網(wǎng)站設(shè)計、木壘哈薩克網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、木壘哈薩克企業(yè)網(wǎng)站模板建站服務(wù),十年木壘哈薩克做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
(2)使用print_r(),可以有規(guī)則的打印復(fù)雜結(jié)構(gòu)
(3)var_dump遞歸輸出某種結(jié)構(gòu)體
(4)print(),簡單打印
可以將你要輸出的錯誤內(nèi)容放到上述語句或函數(shù)內(nèi)進行打印輸出;也可以寫入某個文件,作為你的Log日志:file_put_contents('/test1.txt',$value['value'],FILE_APPEND)等這類文件函數(shù)
以上是我自己工作中總結(jié)的PHP調(diào)試方法,挺好用的。
php monolog 怎么把請求的url,ip,參數(shù)這些記錄到日志中
Monolog是php下比較全又容易擴展的記錄日志組件。目前有包括Symfony 、Laravel、 CakePHP等諸多知名php框架都內(nèi)置了Monolog。
Monolog可以把你的日志發(fā)送到文件,sockets,收件箱,數(shù)據(jù)庫和各種web服務(wù)器上。一些特殊的組件可以給你帶來特殊的日志策略。
使用例子
1 2 3 4 5 6 7 8 9 10 11 12?php use Monolog/Logger; use Monolog/Handler/StreamHandler; // create a log channel $log = new Logger('name'); $log-pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // add records to the log $log-addWarning('Foo'); $log-addError('Bar');核心概念
每個Logger實例都有一個通道和日志處理器棧。每當(dāng)你添加一條日志記錄,它會被發(fā)送到日志處理器棧。 你可以創(chuàng)建很多Logger,每個Logger定義一個通道(db,請求,路由),每個Logger有很多日志處理器。這些通道會過濾日志。
每個日志處理器都有一個Formatter(內(nèi)置的日志顯示格式處理器)。你還可以設(shè)定日志級別。
日志級別
DEBUG:詳細的debug信息
INFO:感興趣的事件。像用戶登錄,SQL日志
NOTICE:正常但有重大意義的事件。
WARNING:發(fā)生異常,使用了已經(jīng)過時的API。
ERROR:運行時發(fā)生了錯誤,錯誤需要記錄下來并監(jiān)視,但錯誤不需要立即處理。
CRITICAL:關(guān)鍵錯誤,像應(yīng)用中的組件不可用。
ALETR:需要立即采取措施的錯誤,像整個網(wǎng)站掛掉了,數(shù)據(jù)庫不可用。這個時候觸發(fā)器會通過SMS通知你,
怎么讓php打印錯誤日志
要捕獲錯誤的話,一般都要自己封裝一下
代碼示例:
?php
//error handler function
function customError($errno, $errstr, $errfile, $errline)
{
echo "bCustom error:/b [$errno] $errstrbr /";
echo " Error on line $errline in $errfilebr /";
echo "Ending Script";
die();
}
//set error handler
set_error_handler("customError");
$test=2;
//trigger error
if ($test1)
{
trigger_error("A custom error has been triggered");
}
?
輸出:
Custom error: [1024] A custom error has been triggered
Error on line 19 in C:\webfolder\test.php
Ending Script
具體參考:
php能不能像java那樣打印錯誤堆棧信息到錯誤日志
PHP 確實不會輸出錯誤堆棧,但通過函數(shù),還是能夠獲取到錯誤堆棧的。
function getBacktrace() {
ob_start();
debug_print_backtrace();
return ob_get_clean();
}
調(diào)用上面這個函數(shù)取得錯誤堆棧,再用 file_put_contents('log_path', FILE_APPEND); 寫入日志文件即可。
還有一個辦法:為 PHP 安裝 xdebug 擴展
windows 下的安裝方法 安裝好后,修改 php.ini
當(dāng)前標(biāo)題:php打印數(shù)據(jù)到日志文件 php實現(xiàn)打印機打印
文章源于:http://fisionsoft.com.cn/article/dohdepj.html