この記事の内容は、PHP がログ メソッドをカプセル化して出力する方法 (コード付き) に関するもので、一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。
最近、オンライン上のプロジェクトで問題が発生しました。多くのユーザーが使用しています。長い間原因を探していましたが、最終的にエラーの場所を特定しました。ログファイル!したがって、開発プロセス中、エラーが発生する可能性のあるログを出力することが非常に重要です。以下で詳しくお話していきますね!
1. 使用する関数 file_put_contents()
file_put_contents() 関数は、文字列をファイルに書き込みます。
この関数がファイルにアクセスするときは、次のルールに従います:
FILE_USE_INCLUDE_PATH が設定されている場合、*filename* コピーの組み込みパスがチェックされます
ファイルが存在しない場合はファイルが作成されます
ファイルを開きます
LOCK_EX が設定されている場合、ファイルはロックされます。
- ##FILE_APPEND が設定されている場合、ファイルはファイルの末尾に移動されます。そうしないと、ファイルの内容がクリアされます
#ファイルにデータを書き込みます-
#ファイルを閉じ、すべてのファイルのロックを解除します
-
成功した場合、この関数はファイルに書き込まれた文字数を返します。失敗した場合は False が返されます。
構文
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
パラメータ
説明 |
| ファイル
必須。データを書き込むファイルを指定します。ファイルが存在しない場合は、新しいファイルが作成されます。 |
| データ
必須。ファイルに書き込むデータを指定します。文字列、配列、またはデータ ストリームを指定できます。 |
#モード |
オプション。ファイルを開く/書き込む方法を指定します。可能な値:
| FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX
##コンテキスト | オプション。ファイルハンドルの環境を指定します。 context は、ストリームの動作を変更できるオプションのセットです。
|
| 2. ログ ファイルの makeLog() メソッドをカプセル化する
<?php
/**
* 声明文件日志
* @param string $type
* @param string $data
*/
public function makeLog($type='',$data=''){
if(!empty($type)){
// 'DIR_LOG'=>'/home/www/ymd/public/ymd/logs/'
@file_put_contents(C('DIR_LOG').$type."/".$type.'_'.date('YmdH').'.txt',$data."\n",FILE_APPEND);
}
}
//调用文件日志
$this->makeLog('ymd','日志记录');
関連する推奨事項:
phpネットワーク画像の保存方法(コード)
phpでの2次元配列の垂直マージと水平マージのコード実装
以上がPHPでログを出力するメソッドをカプセル化する方法(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。