亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ホームページ バックエンド開(kāi)発 PHPチュートリアル PHPフレームワークのロギングシステム

PHPフレームワークのロギングシステム

Aug 08, 2016 am 09:32 AM
error exception kohana nbsp shutdown

私は今、會(huì)社でPHPのバックエンド開(kāi)発プログラマーとして働いています(私たちのチームにはフロントエンドがないので、活動(dòng)するときはフロントエンドのことをやります)。フロントエンドとバックエンドのアクティビティを?qū)g行するのに 2 週間 (當(dāng)時(shí)はできなくて、週末 2 日殘業(yè)しなければならなかったのを覚えています...、、、) もう 4 か月以上になります。もちろん、あまり複雑ではないアクティビティは午後 1 日で完了できます。もちろん、これを行う場(chǎng)合は、拡張性や再利用性など、多くのことを考慮します。小さなプラグインに似ているため、高速になります。 。 。 。 。 。しかし、一日中「要件に立ち向かい、要件を?qū)g行する」のは非常に効率が悪いことがわかりました。このようにすると、些細(xì)な要件に囚われて、いくつかの重要な部分を?qū)g行する時(shí)間がなくなり、システムやフレームワークのことを?qū)Wぶことができなくなります。そして、同僚や上司があなたがそれらのことをすることに慣れていると、技術(shù)的な內(nèi)容ではないがやらなければならないことに遭遇するたびに、ためらうことなくそれをあなたに押し付けます(利己的に言えば、プログラマは誰(shuí)でもそうです)みんな私と同じように、プログラマとしての誇りを持てるよう、技術(shù)的な內(nèi)容を習(xí)得したいと思っているのです)、時(shí)間が経てば慣れてしまいます...これは本當(dāng)に悲慘なので、受け入れます時(shí)間をかけてフレームワークの內(nèi)容を?qū)W習(xí)し、単純なプログラマーにならないようにしてください。

引用

PHP フレームワークに觸れたことのある友人は、プロジェクトにおけるログの重要な役割を知っているかもしれません。これは、エラーの場(chǎng)所を特定し、プログラムをより使いやすくするのに役立ちます (適切に処理されれば、直接ログがスローされることはありません)。プログラマのみのエラーが多い)実際は英語(yǔ)で動(dòng)いています)、デバッグ中に非常に便利で、重要な操作などを記録することもできます。つまり、完全なプロジェクトにログシステムがない場(chǎng)合、開(kāi)発の道は茨と穴だらけになることは間違いなく、つまずくでしょう。

はじめに

PHP ログ システムをマスターするには、まずこれらのことを完全に理解する必要があります。

1. php

のいくつかの機(jī)能

1 set_Exception_handler(callback $Exception_handler); //例外キャプチャカスタムハンドラー関數(shù)の登録

1 set_error_handler(callback $error_handler); //エラーキャプチャカスタムハンドラー関數(shù)の登録

1 register_shutdown_function(callback $callback); //プログラム実行時(shí)の異常終了エラーキャプチャハンドラ関數(shù)の登録

これら 3 つの関數(shù)は、開(kāi)発者にエラー処理制御において多くの自主性を提供し、ログ システムにログ情報(bào)を記録する責(zé)任を負(fù)います。

プログラムで例外が発生すると、php カーネルは例外エラーをスローし、例外処理関數(shù)が登録されている場(chǎng)合は、php によってスローされた例外はカスタム登録された例外に転送されます。例外キャッチ関數(shù)。この関數(shù)には実行する必要のある処理が含まれており、エラー情報(bào) (エラーの詳細(xì)とエラーの場(chǎng)所を含む) が記録されます。関數(shù)が例外を処理した後、例外は終了します。

プログラム內(nèi)でエラーが発生した場(chǎng)合、登録したエラー処理関數(shù)はエラー情報(bào)を関數(shù)內(nèi)のエラー例外オブジェクトに変換し、例外処理関數(shù)に渡します。これが最初のステップの $Exception_handler 関數(shù)です。

再開(kāi)時(shí)にシャットダウンエラーが発生した場(chǎng)合、登録した異常終了処理関數(shù)が実行され、error_get_last()により前回のシャットダウン時(shí)のエラーオブジェクトを取得し、前項(xiàng)と同様にエラー例外オブジェクトを生成します。このオブジェクトは、登録された例外ハンドラー関數(shù)に渡されます。

実際には、例外であってもエラーであっても、自身の情報(bào)を例外処理関數(shù)が認(rèn)識(shí)する例外情報(bào)に変換して、例外処理関數(shù)に渡して処理していることが分かります。例外情報(bào)は、化粧をした女性のようなものです。例外ハンドラは、非例外情報(bào)がロードおよびアンロードされるときのみ、例外情報(bào)を認(rèn)識(shí)しません(正確には、非例外情報(bào)はそれ自體で例外情報(bào)に変換されます)。スローされたか) 例外ハンドラーはそれを認(rèn)識(shí)できますか。

PHPログシステムのエラー処理プロセス

そこで質(zhì)問(wèn)になりますが、これらの関數(shù)は通常、例外処理クラス ライブラリとエラー ログ クラス ライブラリで動(dòng)作します。例外処理クラス ライブラリには、登録される 3 つの関數(shù)と、$Exception_handler で呼び出されるログ クラス ライブラリが含まれています。ログファイルを合理的に記録して配置するため。上記の関數(shù)は通常、次のようにプログラムフレームワークの入り口でロードされ、登録されます。

ここではarray(class, function)メソッドを使用します。

リーリー

2. ロギング関連ライブラリ

最初の部分で紹介したものは例外、エラー、シャットダウンのみをキャプチャします。これは最初のステップにすぎません。次に、ログ情報(bào)をローカル ファイル システムに記録するなど、キャプチャされた情報(bào)を適切に処理する必要があります。操作は array("MyException", "ExceptionHandler")) 內(nèi)にあり、ログ クラス ライブラリが使用されます。 (以下で説明するクラス ライブラリは、kohana ログ システムの設(shè)計(jì)を利用しています)。

日本語(yǔ)形式のログもファイルの最後に情報(bào)を追加するだけで簡(jiǎn)単に実裝できると思いますが、設(shè)計(jì)が必要です。便利で効率的で拡張されたロギング クラス ライブラリですが、これはそれほど単純ではありません。長(zhǎng)期的な練習(xí)、要約、最適化が必要です。kohana フレームワークのロギング ライブラリは比較的成熟しているため、ここで參照できます。

kohana を使用したことのあるユーザーは、kohana フレームワークでのログインについてよく知っていると思います。詳しくなくても問(wèn)題ありません。アプリケーションの 109 番で簡(jiǎn)単に説明します。 kohana ソース コードの bootstrap.php ファイル — 112 行目に次のコードがあります: リーリー

これは、log オブジェクト

logging オブジェクト を追加するものです。オリーブ色の背景を持つ 2 つは、kohana では 2 つの部分に分かれていることに注意してください。ログ オブジェクトは、ログ オブジェクトのリストを維持するために使用されます。これは実際には 1 つ以上のログ オブジェクトを含むコンテナのようなものです (これは 2 番目の部分です。これらのログ オブジェクトがログの実際のソースです)。オブジェクト)、ログ)、および各オブジェクトについて記録されるエラー レベルの配列。エラー レベルが満たされていない場(chǎng)合は省略されます。名前を変更した後の私自身の簡(jiǎn)略化されたロギング方法は次のとおりです: リーリー

ここでわかりやすくするために、「コンテナ」に Log という名前を付け、記録されたインスタンスに Logwriter という名前を付けました。最初のログ タイプは、すべてのエラーをエラー番號(hào)とともに記録するものです。 Log::DEBUG より小さいエラー (エラー レベルがそれより高い) は、ルールに従って ./data/debug フォルダーに記録されます。2 番目は Log::NOTICE 以上の記録レベルのエラーです。配列を渡すだけで、必要に応じてエラー ログを追加し、別のログ ディレクトリに分割できると思います。 :

ログとログライターの関係

上の図から、Log はさまざまな特定のログライター オブジェクトを含むコンテナであることがわかります。各オブジェクトは、エラー情報(bào)がファイルに書(shū)き込まれるときに、それぞれの Logwriter が実行されるかどうかを確認(rèn)します。エラー メッセージにエラーを記録します。エラー メッセージ內(nèi)のレベルがログライターに含まれていない場(chǎng)合、そのレベルは無(wú)視されます。

このパートは最初のパートとどのように連攜しますか?実際、例外が例外によってキャッチされると、エラー メッセージ (エラーの場(chǎng)所、エラー コード、エラー メッセージなどを含む) を Log コンテナーの errormessage 配列に追加するために呼び出されます。プログラムの終了後にこの情報(bào)をファイルに書(shū)き込みます。kohana コードを読むと、1 つのエラーで複數(shù)のエラーが発生する可能性があるため、Kohana への直接書(shū)き込みが最適化されていないことがわかります。 php の実行でエラーが発生した場(chǎng)合は、一度記録するだけで済みます。これにより、プログラムが戻るまでに余分な IO と時(shí)間がかかります。そのため、kohana のアプローチでは、デフォルトですべてのエラー、例外、ログを Log::$errormessage に保存します。ライター操作は register_shutdown_function を登録します。この関數(shù)の機(jī)能は、上記の最初の部分でも使用されます。ログ レコードは、この PHP の実行に大きな影響を與えません。

3. 例の概要

この時(shí)點(diǎn)で、ログ システムの概要は理解できているはずです。使用する「ログ システム」を作成できます。これは、コードが含まれている私の「ログ システム」の例を見(jiàn)てみましょう。必要に応じて例をご覧ください。

https://github.com/AizuYan/phplog.git

この記事の著作権は著者(luluyrt@163.com)とブログパークに帰屬します。記事を転載した後は、著者と原文リンクを明示する必要があります。記事ページに明確な立場(chǎng)がなければ、法的責(zé)任が追及されます。

上記では、PHP フレームワークのログ システムをその側(cè)面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願(yuàn)っています。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でウィンドウの境界線の設(shè)定を調(diào)整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設(shè)定を調(diào)整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 では、新鮮でエレガントなデザインが前面に押し出されており、最新のインターフェイスにより、ウィンドウの境界線などの細(xì)部をカスタマイズして変更することができます。このガイドでは、Windows オペレーティング システムで自分のスタイルを反映した環(huán)境を作成するのに役立つ手順について説明します。ウィンドウの境界線の設(shè)定を変更するにはどうすればよいですか? + を押して設(shè)定アプリを開(kāi)きます。 Windows [個(gè)人用設(shè)定] に移動(dòng)し、[色の設(shè)定] をクリックします。ウィンドウの境界線の色の変更設(shè)定ウィンドウ 11" width="643" height="500" > [タイトル バーとウィンドウの境界線にアクセント カラーを表示する] オプションを見(jiàn)つけて、その橫にあるスイッチを切り替えます。 [スタート] メニューとタスク バーにアクセント カラーを表示するにはスタート メニューとタスク バーにテーマの色を表示するには、[スタート メニューとタスク バーにテーマを表示] をオンにします。

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

ログイン畫(huà)面に「組織から PIN の変更を求められています」というメッセージが表示されます。これは、個(gè)人のデバイスを制御できる組織ベースのアカウント設(shè)定を使用しているコンピューターで PIN の有効期限の制限に達(dá)した場(chǎng)合に発生します。ただし、個(gè)人アカウントを使用して Windows をセットアップした場(chǎng)合、エラー メッセージは表示されないのが理想的です。常にそうとは限りませんが。エラーが発生したほとんどのユーザーは、個(gè)人アカウントを使用して報(bào)告します。私の組織が Windows 11 で PIN を変更するように要求するのはなぜですか?アカウントが組織に関連付けられている可能性があるため、主なアプローチはこれを確認(rèn)することです。ドメイン管理者に問(wèn)い合わせると解決できます。さらに、ローカル ポリシー設(shè)定が間違っていたり、レジストリ キーが間違っていたりすると、エラーが発生する可能性があります。今すぐ

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

デフォルトでは、Windows 11 のタイトル バーの色は、選択したダーク/ライト テーマによって異なります。ただし、任意の色に変更できます。このガイドでは、デスクトップ エクスペリエンスを変更し、視覚的に魅力的なものにするためにカスタマイズする 3 つの方法について、段階的な手順を説明します。アクティブなウィンドウと非アクティブなウィンドウのタイトル バーの色を変更することはできますか?はい、設(shè)定アプリを使用してアクティブなウィンドウのタイトル バーの色を変更したり、レジストリ エディターを使用して非アクティブなウィンドウのタイトル バーの色を変更したりできます。これらの手順を?qū)W習(xí)するには、次のセクションに進(jìn)んでください。 Windows 11でタイトルバーの色を変更するにはどうすればよいですか? 1. 設(shè)定アプリを使用して + を押して設(shè)定ウィンドウを開(kāi)きます。 Windows「?jìng)€(gè)人用設(shè)定」に進(jìn)み、

Windows 11 でタスクバーのサムネイル プレビューを有効または無(wú)効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無(wú)効にする方法 Sep 15, 2023 pm 03:57 PM

タスクバーのサムネイルは楽しい場(chǎng)合もありますが、気が散ったり煩わしい場(chǎng)合もあります。この領(lǐng)域にマウスを移動(dòng)する頻度を考えると、重要なウィンドウを誤って閉じてしまったことが何度かある可能性があります。もう 1 つの欠點(diǎn)は、より多くのシステム リソースを使用することです。そのため、リソース効率を高める方法を探している場(chǎng)合は、それを無(wú)効にする方法を説明します。ただし、ハードウェアの仕様が対応可能で、プレビューが気に入った場(chǎng)合は、有効にすることができます。 Windows 11でタスクバーのサムネイルプレビューを有効にする方法は? 1. 設(shè)定アプリを使用してキーをタップし、[設(shè)定] をクリックします。 Windows では、「システム」をクリックし、「バージョン情報(bào)」を選択します。 「システムの詳細(xì)設(shè)定」をクリックします。 [詳細(xì)設(shè)定] タブに移動(dòng)し、[パフォーマンス] の下の [設(shè)定] を選択します。 「視覚効果」を選択します

Windows 11/10修復(fù)におけるOOBELANGUAGEエラーの問(wèn)題 Windows 11/10修復(fù)におけるOOBELANGUAGEエラーの問(wèn)題 Jul 16, 2023 pm 03:29 PM

Windows インストーラー ページに「問(wèn)題が発生しました」というメッセージとともに「OOBELANGUAGE」というメッセージが表示されますか?このようなエラーが原因で Windows のインストールが停止することがあります。 OOBE とは、すぐに使えるエクスペリエンスを意味します。エラー メッセージが示すように、これは OOBE 言語(yǔ)の選択に関連する問(wèn)題です。心配する必要はありません。OOBE 畫(huà)面自體から気の利いたレジストリ編集を行うことで、この問(wèn)題を解決できます。クイックフィックス – 1. OOBE アプリの下部にある [再試行] ボタンをクリックします。これにより、問(wèn)題が発生することなくプロセスが続行されます。 2. 電源ボタンを使用してシステムを強(qiáng)制的にシャットダウンします。システムの再起動(dòng)後、OOBE が続行されます。 3. システムをインターネットから切斷します。 OOBE のすべての側(cè)面をオフライン モードで完了する

Windows 11で明るさを調(diào)整する10の方法 Windows 11で明るさを調(diào)整する10の方法 Dec 18, 2023 pm 02:21 PM

畫(huà)面の明るさは、最新のコンピューティング デバイスを使用する上で不可欠な部分であり、特に長(zhǎng)時(shí)間畫(huà)面を見(jiàn)る場(chǎng)合には重要です。目の疲れを軽減し、可読性を向上させ、コンテンツを簡(jiǎn)単かつ効率的に表示するのに役立ちます。ただし、設(shè)定によっては、特に新しい UI が変更された Windows 11 では、明るさの管理が難しい場(chǎng)合があります。明るさの調(diào)整に問(wèn)題がある場(chǎng)合は、Windows 11 で明るさを管理するすべての方法を次に示します。 Windows 11で明るさを変更する方法【10の方法を解説】 シングルモニターユーザーは、次の方法でWindows 11の明るさを調(diào)整できます。これには、ラップトップだけでなく、単一のモニターを使用するデスクトップ システムも含まれます。はじめましょう。方法 1: アクション センターを使用する アクション センターにアクセスできる

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 のディスプレイ スケーリングに関しては、好みが人それぞれ異なります。大きなアイコンを好む人もいれば、小さなアイコンを好む人もいます。ただし、適切なスケーリングが重要であることには誰(shuí)もが同意します。フォントのスケーリングが不十分であったり、畫(huà)像が過(guò)度にスケーリングされたりすると、作業(yè)中の生産性が大幅に低下する可能性があるため、システムの機(jī)能を最大限に活用するためにカスタマイズする方法を知る必要があります。カスタム ズームの利點(diǎn): これは、畫(huà)面上のテキストを読むのが難しい人にとって便利な機(jī)能です。一度に畫(huà)面上でより多くの情報(bào)を確認(rèn)できるようになります。特定のモニターおよびアプリケーションにのみ適用するカスタム拡張プロファイルを作成できます。ローエンド ハードウェアのパフォーマンスの向上に役立ちます。畫(huà)面上の內(nèi)容をより詳細(xì)に制御できるようになります。 Windows 11の使用方法

Windows Serverでアクティベーションエラーコード0xc004f069を修正する方法 Windows Serverでアクティベーションエラーコード0xc004f069を修正する方法 Jul 22, 2023 am 09:49 AM

Windows のライセンス認(rèn)証プロセスが突然切り替わり、このエラー コード 0xc004f069 を含むエラー メッセージが表示されることがあります。ライセンス認(rèn)証プロセスはオンラインですが、Windows Server を?qū)g行している一部の古いシステムではこの問(wèn)題が発生する可能性があります。これらの初期チェックを?qū)g行し、システムのアクティブ化に役に立たない場(chǎng)合は、問(wèn)題を解決するための主要な解決策に進(jìn)んでください。回避策 – エラー メッセージとアクティベーション ウィンドウを閉じます。次に、コンピュータを再起動(dòng)します。 Windows ライセンス認(rèn)証プロセスを最初から再試行します。解決策 1 – ターミナルからアクティブ化する cmd ターミナルから Windows Server Edition システムをアクティブ化します。ステージ – 1 Windows Server のバージョンを確認(rèn)する 使用している W の種類を確認(rèn)する必要があります

See all articles