程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP執行過程中調試Log

PHP執行過程中調試Log

編輯:關於PHP編程

 

1.    function Dmess($msg, $prefix='') {  

2.        $debugMethod = 1;// 0-> print out stnd; 1-> write log file;  

3.        $traceArr = debug_backtrace();  

4.        $lastTrace = end($traceArr);  

5.        if( strlen($prefix)>0 )  

6.            $line = "[".date("Y-m-d H:i:s")."][".$prefix."] ".$msg;  

7.        else {  

8.            $line = "[".date("Y-m-d H:i:s")."][";  

9.            for($i=count($traceArr);$i>0;$i--){  

10.               $trace = $traceArr[$i-1];  

11.               $line .= basename($trace['file']).":".$trace['line'];  

12.               if( $i==count($traceArr) )  

13.                   $line .= "|".$trace['function'];  

14.               $line .= "=>";  

15.           }  

16.           $line = substr($line, 0, -2);  

17.           $line .= "] " . $msg;  

18.       }  

19.       if( $debugMethod==0 ) {  

20.           print "\n<!--<debug>$msg</debug>//-->\n";  

21.           //print "\nDEBUG:: $msg</debug><br/>\n";  

22.           flush();  

23.           ob_flush();  

24.       }  

25.       else {  

26.           $logfile = "./logs/debug.log";  

27.           write2file($line."\n", $logfile);  

28.       }  

29.   }  

30.     

31.   function write2file($msg,$fileName)  

32.   {  

33.       $fp = @fopen($fileName, 'a');  

34.       if($fp==false)  

35.       {  

36.           $fp=@fopen($fileName,'w+');  

37.           if($fp==false)  

38.           {  

39.               if($fileName!=DEBUGFILE) {  

40.                   echo "ERROR:: file ".$fileName." can not be created for writing";  

41.                   exit();  

42.               }  

43.               else  

44.               {  

45.                   echo " file ".$fileName." can not be created for writing";  

46.                   return 0;  

47.               }  

48.           }  

49.       }  

50.       $lfp = flock($fp,LOCK_EX);  

51.       $i = 0;  

52.       while ($lfp == False)  

53.       {  

54.           $i++;  

55.           $lfp = flock($fp,LOCK_EX);  

56.           if ($i==10){return(0);}  

57.       }  

58.       fputs($fp,$msg);  

59.       flock($fp,LOCK_UN);  

60.       fclose($fp);  

61.       return 1;  

62.   }  

 

 

摘自 氣度非等閒blog

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved