>  기사  >  php教程  >  PHP执行过程中调试Log

PHP执行过程中调试Log

WBOY
WBOY원래의
2016-06-13 10:45:191110검색

 

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\n";  

21.           //print "\nDEBUG:: $msg
\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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.