
この記事はLogglyが後援しました。 SitePointを可能にしてくれたスポンサーをサポートしてくれてありがとう。
サーバーがオーバーロードされ、ライブラリが例外をスローし、電子メールの送信中のエラー:これらのエラーは残念ながらすべてのシステムの一部です。システムの機能をうまく担当している場合、それはまだ寒い快適さです。さらに、私はあなたがあなたのログファイルに座っているそれらを解決するために必要なすべてのデータをすでに持っているに違いない。
しかし、そのデータにアクセスすることは、そのデータを保存、処理、分析する方法がない限り、実際には役に立ちません。この記事では、適切なログ管理ソリューション(この場合はログリー)を使用してPHPロギングライブラリを使用して、このデータをより効果的に使用する方法について説明します。また、ログ管理サービスを使用してそれらを簡単に保存および分析する方法の例を示します。
キーテイクアウト
Logglyは、集中型のログ管理、リアルタイム監視、高度な検索機能を提供し、幅広いログ形式をサポートする人気のあるPHPロギングツールです。 PHPと簡単に統合でき、複数のソースからログが生成される大規模なアプリケーションに特に役立ちます。
ログリーは、PHPロギングライブラリであるMonologとPHPフレームワークのLaravelと簡単に統合できます。また、クラウドプラットフォームであるHerokuで構成して、生産環境で適切なログ追跡を確保することもできます。
Logglyは、ログデータを検索、グループ化、視覚化する印象的な方法を提供します。ログをフィルタリング、分析、視覚化するために、検索ページに一連のツールを提供します。 Logglyは、アプリケーションでアクションが発生するたびに通知を送信するように構成できるアラートツールも提供します。
- php logging
- PHPでロギングする場合、ERROR_LOGとTRIGGER_ERROR関数を使用する傾向があります。または、エラーハンドラーを使用してロギングプロセスをより一般的にすることができます。この方法でそれを行うことを選択した場合は、何らかのオブジェクト内に機能を包み、物事をよりクリーンで柔軟にする必要があります。 Syslog関数を使用して、ログをシステムに直接転送して処理することもできます。
- しかし、複数の場所に同時にログを記録する必要がある場合、またはエラーレベルに応じて特定のサービスにログを送信していた場合はどうしますか?組み込みのツールを使用するのではなく、ロギングライブラリを使用する方が簡単です。
なぜ私がモノログを使用しているのか
log4php、klogger、monologなどのライブラリを推奨する人もいますが、それらの一般的な問題を解決しようとしますが、それらにはいくつかの制限があり、モノログにはそれらよりも多くの利点があります。
です
Logglyを含むさまざまなサービス用のハンドラーが含まれています
ログ出力をカスタマイズするためのフォーマッタのサポート。-
ブラウザコンソールへのログのためのBrowsConsoleHandlerのような開発ロギングのためのヘルパー。
- パッケージの詳細については、ドキュメントを確認してください。最も人気のあるフレームワークには、箱から出してモノログが含まれているため、ドキュメントの完全なリストを確認してください。 Monologがインストールされていない場合は、Composerを使用してプロジェクトに追加できます。
- スケールでのロギングの問題
ロギングにはディスクへの書き込み、バックアップ、およびファイルの検索が必要なため、一部の企業はジョブを処理するための個別のサービスを作成します(通常、何らかのエラーが発生したときに情報を検索するファイルを検索するスクリプトまたはアプリのセットまたはアプリ)。あなたの会社やサービスが拡大するにつれて、これはあなたの開発者とアナリストにとってすぐに悪夢になる可能性があります。もう1つのより良い代替品は、ログストレージと分析のためのクラウドベースのサービスであり、この記事でさらに説明するため、これには多くの利点があります。
ログリーとは?
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
ログの保存と分析を簡単にするログ管理サービスがいくつかあります。 Logglyは最も人気があり、PHPと統合するいくつかの方法があります。 Logglyがログを受信すると、非常に印象的な方法でデータを検索、グループ化、視覚化できます。無料で試すことができます。サイトにかなりのトラフィックがある場合にのみ支払います。まず、システムログを追跡するためにサーバーにインストールする方法を検討してみましょう。
モノログでログリーを使用しています
ロギングプロセスのためにMonolog Package Libraryを使用することにした場合、Logglyを含むログ管理サービスと統合するのは非常に簡単です。
デフォルトでは、LogglyのLogglyHandlerが付属しています
モノログインスタンスを作成した後、ハンドラーを登録ハンドラーのリストにプッシュします。前述のようにトークンを提供する必要があります。タグパーツはオプションですが、それに応じてタグ付けしてログエントリを分離することをお勧めします。これで、Monologを使用してサービスへのロギングを開始する準備ができました。
Laravelでログリー
Laravelはロギングプロセスにモノログを使用しているため、ハンドラーを簡単にバインドできます。
Herokuのログリーの構成
composer <span>require monolog/monolog</span>
アプリケーションを実稼働に移動すると、ログトラッキングが適切に機能していることを確認する必要があります。このセクションでは、HerokuアプリケーションにLogglyを添付します。 Herokuは、ログドレインを使用して、ログを外部ロギングサービスに転送するのに役立ちます。インストールプロセスの詳細については、ドキュメントを確認できます。
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
ソースセットアップ>カスタマートークンページで見つけることができる実際のトークンでトークンを更新する必要があります。 heroku_app_nameは、herokuインスタンスに既にログインしている場合は省略できます。それ以外の場合は、Herokuアプリケーション名を指定する必要があります。
ドレインURLはタグ/ヘロクで終わります。これは、定義されたタグを使用してログをフィルタリングするのに役立ちます。これについては後で詳しく説明します。
Logglyは、Herokuのような外部サービスと簡単に統合できます。ログ送信方法と利用可能なスクリプトまたはライブラリの概要については、ログのあるドキュメントを確認してください。
ログを使用したログの分析
ログにログを送信する方法について説明したので、データの分析と作業を開始できます。検索ページには、ログをフィルタリング、分析、視覚化するための一連のツールが提供されます。
ダッシュボードには、イベントのタイムラインと、下部のログのリストが表示されます。ページの上部には、イベントをフィルタリングするための検索ボックスと日付範囲が含まれています。最後の30分を選択するか、たとえばカスタム日付範囲を指定して、検索をクリックして検証できます。
ログのフィルタリング

検索入力を使用して、「電子メール」や「event_*」などの特定の用語を使用してデータをフィルタリングできます。 Logglyは、ログエントリの本体内で検索し、ページの下部に結果を表示します。 「Tag:Monolog」などの検索にフィールドを使用して、以前にMonologから送信されたイベントをフィルタリングすることもできます。左側のサイドメニューはダイナミックフィールドエクスプローラーと呼ばれ、使用可能なフィールドフィルターを識別するのに役立ちます。
ログを分析する方法をよりよく理解するために、次の例を取りましょう。
内部サーバーエラー
サーバーがユーザーからの有効な要求を処理できなかったときに、内部サーバーエラーがスローされます。 PHPでは、このエラーの詳細はApacheログ内にあります。PHPを使用してエラーハンドラーを登録すると、独自のログファイルをグループ化できるように、ログメッセージに従ってエラーを修正できます。

ページの左側にあるフィールドエクスプローラーウィジェットを使用して、Apache 5XXステータスコードを使用してログをダウンします。検索は「apache.status:500」のように具体的にすることができます。または、「apache.status:[500〜599]」のように、より一般的にすることができます。
致命的なエラー
PHPでは、致命的なエラーがスローされると、プログラムは実行を停止し、システムにエラーを記録します。致命的なエラーは生産時に発生することは想定されていないため、Logglyはさまざまなソースからのエラーの重大度を簡単に追跡する簡単な方法を提供します。 「syslog.appname:php」用語にはphpログのみが表示されます。これで、syslog.severity:エラー用語を使用して特定の重大度からエラーを表示する必要があります。 ]」。ドキュメントの使用可能なフィールドのリストの詳細については、
ほとんどの場合、結果をリストとして表示していますが、ページの下部にあるチャートのリストから別のグラフを使用することができます。
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
アラート

Logglyの私のお気に入りの機能の1つは、アラートツールです。ログリーを設定して、アプリケーションでアクションが発生するたびに、メールまたは別のサービスに通知を送信できます。プロセスを詳細に進めましょう。
まず、新しい検索を作成して保存する必要があります。この検索を考えてみましょう:「syslog.appname:php and php.level: "致命的なエラー”
これにより、システム上のPHP致命的なエラーのリストが表示されます。次に、この検索基準を保存する必要があります。ダッシュボードページの右上にある小さな星をクリックして、「この検索を…」アイテムを選択して、検索に名前を付けます。
アラートのリストに移動し、[新しい追加]をクリックして新しいものを作成できます。アラートに名前と説明を与えた後、リストから保存された検索と条件を選択できます(5分以内にカウントが> = 1の場合はアラート)。私の例では、電子メール通知を送信しますが、検証のためにエラーをチームに自動的に渡すサービスがある場合は、エンドポイントに投稿するように構成できます。ドキュメントのアラートの詳細を読むことができます。

結論
ログリーは、regexp検索からアーカイブまで、ログへの対処方法を変更できます。このサービスには素晴らしいUXがあり、ドキュメントは非常に簡単で、可能性の大部分をカバーしています。すべての機能をテストするために、無料のトライアルから始めてください。ご質問がある場合は、以下に投稿してください。私はそれらに答えるために最善を尽くします。

どのようにしてPHPのロギングを簡単にしますか?Loggly でのPHPロギングに関するよくある質問(FAQ)
PHPロギングにログリーが適切な選択肢になるのはなぜですか?
Logglyは、その堅牢な機能と使いやすさのために強力なPHPロギングツールとして際立っています。集中型のログ管理を提供します。つまり、1つの場所からすべてのログにアクセスして管理できます。これは、複数のソースからログが生成される大規模なアプリケーションに特に役立ちます。 Logglyは、PHPを含む幅広いログ形式もサポートしているため、さまざまなアプリケーションに汎用性があります。リアルタイムのログ監視と分析を提供します。これは、問題を迅速に特定して解決するのに役立ちます。さらに、Logglyは高度な検索機能を提供し、特定のログエントリを簡単に見つけることができます。特徴。ほとんどのライブラリは基本的なロギング機能を可能にしますが、Logglyは集中型のログ管理、リアルタイム監視、および高度な検索機能を提供することでさらに一歩進んでいます。また、より広い範囲のログ形式をサポートしています。ただし、ロギングライブラリの選択は、アプリケーションの特定のニーズに大きく依存していることに注意することが重要です。一部の開発者は、小規模なアプリケーションによりシンプルなライブラリを好むかもしれませんが、他の開発者はより大きく、より複雑なアプリケーションのためにログリーの堅牢な機能を必要とするかもしれません。 PHPと比較的簡単に統合できます。 PHPアプリケーションからログにログにログを送信するために使用できる簡単なAPIを提供します。このプロセスには、Logglyライブラリをインストールし、Loggly Customerトークンで構成し、ライブラリの機能を使用してログを送信することが含まれます。詳細な手順とコードの例は、ログリードキュメントで提供されているため、初心者でも統合プロセスが簡単になります。 Logglyの重要な機能の1つは、リアルタイムのログ監視機能です。これは、PHPログが生成されたときに表示および分析できることを意味し、問題を迅速に特定して解決できるようにします。 Logglyはまた、アラート機能を提供します。これは、ログで特定の条件が満たされたときに通知できます。これは、重要な問題を検出して応答するのに特に役立ちます。
Logglyの検索機能はどのように機能しますか?
Logglyの検索機能は、特定のログエントリを簡単に見つけることができるように設計されています。ログレベル、ログのソース、またはログに含まれるその他のデータなど、さまざまなパラメーターに基づいてログを検索できます。 Logglyは高度な検索クエリもサポートしているため、複数のパラメーターと演算子を組み合わせて、より正確な検索結果を得ることができます。検索結果は、ユーザーフレンドリーな形式で表示され、ログをさらにフィルタリングおよびソートするオプションがあります。
PHPロギングのログリーの代替品は何ですか?
LogglyはPHPロギングの強力なツールですが、他にも考慮するライブラリがいくつかあります。これらには、さまざまなログハンドラーをサポートする広く使用されているPHPロギングライブラリであるモノログが含まれます。 Apache log4php、PHPの汎用性の高いロギングフレームワーク。 PHP用のシンプルなファイルベースのロギングライブラリであるKlogger。これらのライブラリにはそれぞれ独自の長所と短所があるため、最良の選択は特定のニーズに依存します。大規模なPHPアプリケーション用。集中型のログ管理機能により、複数のソースからのログを簡単に処理できます。これは、大規模なアプリケーションで一般的です。さらに、リアルタイムの監視と高度な検索機能は、そのようなアプリケーションによって生成される大量のログの管理に役立ちます。ただし、Logglyは有料サービスであることに注意することが重要です。そのため、大規模なアプリケーション用のロギングツールを選択する際にはコスト係数を考慮する必要があります。はい、はい、PHPエラーロギングにログリーを使用できます。実際、エラーロギングはログの最も一般的な用途の1つです。これにより、PHPアプリケーションからエラーログをキャプチャおよび分析し、問題を特定して解決するのに役立ちます。 Logglyはさまざまなエラーログ形式をサポートし、ロギングレベルをカスタマイズしてさまざまなタイプのエラーをキャプチャできます。ログデータを保護します。これには、輸送中および安静時のデータの暗号化、定期的なセキュリティ監査、SOC 2などの業界標準へのコンプライアンスが含まれます。ただし、サードパーティサービスと同様に、セキュリティ慣行を確認し、要件を満たすことを確認することが重要です。 [>>
ログにログ形式をカスタマイズできますか?
はい、Logglyを使用すると、ログ形式をカスタマイズできます。これは、ニーズに最適な方法でログを構築できることを意味します。ログレベル、ログのソース、タイムスタンプ、その他の関連情報など、さまざまなデータをログに含めることができます。これにより、ログを簡単に分析し、有用な洞察を抽出できます。
以上がログリーによるより効果的なPHPロギングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。