ホームページ  >  記事  >  バックエンド開発  >  CakePHP ログ

CakePHP ログ

王林
王林オリジナル
2024-08-29 12:58:22345ブラウズ

CakePHP フレームワークは開発者にさまざまなタイプの機能を提供するオープンソース ツールです。たとえば、ロギングは開発の観点から非常に重要です。ログを使用すると、エラー、例外、さまざまなユーザー アクティビティ、操作中のユーザー アクション、およびバックグラウンド アクティビティに関して問題を簡単に見つけることができます。通常、ロギングの実装は非常に簡単で時間を節約できます。 CakePHP には、さまざまなアクティビティ、エラー、例外を記録する log() 関数があります。ログを実装するには、要件に従ってさまざまなパラメーターを構成する必要があります。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

CakePHP ログを作成するには?

次に、次のようにログイン CakePHP を作成する方法を見てみましょう。

CakePHP でのログ情報は単純です。log() の動作は、一部の CakePHP クラスの通常の先行動作である LogTrait によって提供されます。設定が CakePHP クラス (コントローラー、コンポーネント、ビュー) である場合は、情報をログに記録できます。同様に、Log::write() を直接利用することもできます。 「ログへの書き込み」を参照してください。

ログ ストリーム オーバーシーアは、アプリケーションまたはモジュールの一部にとって不可欠な場合があります。たとえば、アプリケーションのコンポーネントとして DatabaseLog という情報ベースの木こりがあるとします。

に設定されます

アプリケーション/Lib/Log/Engine/DatabaseLog.php.

モジュール コンポーネントとして情報ベースの木こりがあると仮定すると、それは application/Plugin/LoggingPack/Lib/Log/Engine/DatabaseLog.php に配置されます。配置されると、CakeLog はログ ストリームの設定をスタックしようとします。これは CakeLog::config() を呼び出すことで完了します。 DatabaseLog を配置すると次のようになります:

App::uses('BaseLog', 'Log/Engine');
class DatabaseLog extends BaseLog {
public function __construct($options = array()) {
parent::__construct($options);
// ...
}
public function write($specified type, $required message) {
// write to the database.
}
}

CakePHP には、作成手法を実行する必要があること以外にログ ストリームの前提条件はありませんが、BaseLog クラスを拡張することにはいくつかの利点があります。

結果的に、次数とタイプの競合投影を処理します。最後に、熟読ログを機能させるために期待される config() テクニックを実行します。

すべてのロガーの作成手法は、$type と $message (特定の順序で) という 2 つの境界を受け入れる必要があります。 $type は、ログに記録されたメッセージの文字列の種類です。基本的な信念は、失敗、警告、情報、トラブルシューティングです。さらに、CakeLog::write を呼び出すときにそれらを利用することで、種類を特徴付けることができます。

CakePHP でログインを設定するには?

次に、ログイン CakePHP を次のように設定する方法を見てみましょう。

まず、app.php ファイルを設定する必要があります。さまざまなオプションを使用してログ セクションを構成できます。

'Log' => [
'debug'=>[
'className'=> 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file'=> 'debug',
'levels' => ['specified notice', 'required info', 'debug'],
'url' => env('Specified URL', null),
],
'error' => [
'className'=> 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file'=> 'error',
'levels' => ['specified warning', 'error', 'critical', 'alert'],
'url' => env('Specified URL', null),
],
},

説明

上記のコードでは、デフォルトで次のことがわかります。すでに構成済みのエラーとデバッグの 2 つのログ レベルがあり、さまざまなレベルのメッセージを処理します。基本的に、CakePHP は次のようなさまざまなレベルのロギングをサポートしています。

  • 緊急: システムが使用できないことを示すために使用されます。
  • 警告: 直ちに実行する必要があるアクションを示します。
  • クリティカル: クリティカルな状態に使用されます。
  • エラー: エラー状態を示すために使用されます。
  • 警告: 警告条件​​を示すために使用されます。
  • 注意: 実行の重要な条件を示すために使用されます。
  • 情報: 要件に従って情報メッセージを表示するために使用されます。
  • デバッグ: すべてのメッセージのデバッグ レベルを表示するために使用されます。

CakePHP ログ ファイル

それでは、CakePHP のログ ファイルが次のようになっているのかを見てみましょう。

ログ レコードには 2 つの異なる方法で書き込むことができます。

1 つ目は、静的 write() テクニックを利用することです。次に、静的 write() テクニックの言語構造です。

構文:

write(integer|string $level, blended $message, string|array $context [])

パラメータ:

作成中のメッセージの重大度。値は、既知のレベルに一致する整数または文字列である必要があります。

ログに記録するメッセージの内容

メッセージのログ記録に使用される追加情報。固有の拡張キーを渡して、ログモーターをさらに分離するために使用できます。文字列または数学的記録の表示が渡された場合、それは度数キーとして扱われます。ログ記録の度合いの詳細については、CakeLogLog::config() を参照してください。

戻り値: ブール値

説明: 指定されたメッセージとタイプを作成し、設計されたすべてのログ コネクタに送信します。配置されたコネクタには、$level 要素と $message 要素の両方が渡されます。 $level は、付随する文字列/値の 1 つです。 2 つ目は、log() を利用することです。LogTrait を利用することでアクセスできる簡単なルート作業です。 log() を呼び出すと、内部で Log::write() が呼び出されます。

CakePHP Log Example

Now let’s see an example of a log file as follows.

First, we need to make the changes in the routes.php file as follows.

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
//$builder->connect('/pages',
['controller'=>'Pages','action'=>'display message', 'home page']);
$builder->connect('logex',['controller'=>'Logexs','action'=>'index']);
$builder->fallbacks();
});

Now we need to create controller.php and write the following code as follows.

<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\Log\Log;
class LogexsController extends AppController{
public function index(){
/*First way to write log file.*/
Log::write('debug', "Something went wrong during execution.");
/* Second way to write log file.*/
$this->log("Something went wrong during execution.", 'debug');
}
}
?>

Create an index.php file under the view directory and write the following code.

Something went wrong during execution. Need to check log file\debug.log

Now we need to execute this file in localhost, and after execution, we will do some output that we illustrated by using the following screenshot.

CakePHP ログ

After execution debug log was added to the debug.log file, as shown in the following screenshot.

CakePHP ログ

Conclusion

We hope from this article you learn more about the CakePHP log. From the above article, we have taken in the essential idea of the CakePHP log and see the representation and example of the CakePHP log. Furthermore, this article taught us how and when to use the CakePHP log.

以上がCakePHP ログの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:CakePHP 保存次の記事:CakePHP 保存