PHP デバッグ関数とロギング関数の共有、デバッグ ロギング_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:08:22
オリジナル
1468 人が閲覧しました

PHPデバッグ関数とロギング関数の共有、デバッグロギング

Web サイトのプログラム開発プロセスではデバッグが必要になることが多く、リリース段階では問題の発見と回復イベントを容易にするために操作ログも記録する必要があります。これには、デバッグ機能とログ機能が必要です。

デバッグに使用する関数とエラーの記録に使用する関数を以下に書きます。

使用方法は非常に簡単で、ログファイルは日付に基づいて自動的に生成されます:

コードをコピーします コードは次のとおりです:

//デバッグ時には、複数のパラメーターを使用できます:
sysdebug("こんにちは");
sysdebug("こんにちは", "タイガーがやって来ます");

//エラーログにも同じことが当てはまります:
syserror("エラー");
syserror("エラー", "残念ながらトラは死んでしまいました ", "私たちは悲しいです");

php のデバッグおよびログ機能は次のとおりです:

コードをコピーします コードは次のとおりです:

/**
* デバッグ情報を記録します
​*/
関数 sysdebug($msg) {
if (定義済み("DEBUG_MODE")) {
//TODO はデバッグ スイッチを検出し、公開時に印刷しません
$params = func_get_args(); $traces = デバッグ_バックトレース(); $trace = array_pop($traces); sysrecord($params, $trace, 'デバッグ'); }
}

/**
* エラー情報を記録します
​*/
関数 syserror($msg) {
$params = func_get_args(); $traces = デバッグ_バックトレース(); $trace = array_pop($traces); sysrecord($params, $trace, 'エラー'); }

/**
*ファイルの書き込み
*@無視
​*/
関数 sysfile($filename, $msg, $mode = null) {
$パス = ディレクトリ名($ファイル名); if (!file_exists($path)) {
mkdir($path, 0666, true); }
$flag = LOCK_EX; if ($mode) {
スイッチ ($mode) {
ケース「追加」:
$flag = FILE_APPEND |
壊す; ケース「a」:
$flag = FILE_APPEND |
壊す; デフォルト:
壊す; }
}
file_put_contents($filename, $msg, $flag); }

/**
*レコード情報
*@無視
​*/
関数 sysrecord($params, $trace, $level) {
$path = ディレクトリ名(__FILE__)
//TODO ログ保存ディレクトリは変更するのが最適です

$file = $trace['ファイル']; $func = $trace['関数']; if ($func == "sys$level") {
$func = ''; }
$filename = $path . date("Y-m-d")
$msg = "[" . date("m-d H:i:s") . "] File:"" .basename($file) . "" Func:"" . $func . "" Msg:" . $params)
; sysfile($ファイル名, $msg, '追加'); }






http://www.bkjia.com/PHPjc/951232.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/951232.html

技術記事

PHP のデバッグ機能とログ機能は共有されており、デバッグログ Web サイトプログラムの開発プロセスではデバッグが必要になることが多く、問題の発見とイベントの復元を容易にするために、リリース段階でも実行ログを記録する必要があります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート