ホームページ >バックエンド開発 >PHPチュートリアル >PHP 実行中の Log_PHP チュートリアルのデバッグ
1. function Dmess($msg, $prefix='') {
2. $debugMethod = 1;// 0->標準を印刷します。 1->ログファイルを書き込みます。
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. その他 {
8. $line = "[".date("Y-m-d H:i:s")."][";
9. for($i=count($traceArr);$i>0;$i--){
10. $trace = $traceArr[$i-1];
11. $line .= ベース名($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 "nn";
21. //print "nDEBUG:: $msg
n";
22. flash();
23. ob_flush();
24. }
25. その他 {
26. $logfile = "./logs/debug.log";
27. write2file($line."n", $logfile);
28. }
29. }
30.
31. 関数 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 "エラー:: ファイル ".$fileName." を書き込み用に作成できません";
41. exit();
42. }
43. その他
44. {
45. echo " ファイル ".$fileName." を書き込み用に作成できません";
46. 0を返す。
47. }
48. }
49. }
50. $lfp = 群れ($fp,LOCK_EX);
51. $i = 0;
52. ながら ($lfp == False)
53. {
54. $i++;
55. $lfp = flock($fp,LOCK_EX);
56. if ($i==10){return(0);}
57. }
58. fputs($fp,$msg);
59. 群れ($fp,LOCK_UN);
60. fclose($fp);
61. 1 を返します。
62. }
摘自气度非等闲blog