問題タブ [zend-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zend-framework2 - Zend Framework 2 - アプリケーション / モジュール / サービス マネージャー - Oh My
Zend Framework 1 の長年の開発者として、Zend Framework 2 の学習を始めたばかりです。新しい用語に頭を悩ませています。
ZF1 に戻って、アプリケーションに対してグローバルなロガーを作成したい場合は、構成を application.ini ファイルに追加し、ブートストラップがそれをリソースとして初期化します (私がそう言っていることを願っています)。そのため、どのモジュール コントローラーからでも、ブートストラップ リソースを介してロガーにアクセスできました。
ZF2 に入ります。モジュールは少し異なります。自己完結型ですが、アプリケーションとの対話方法について少し混乱しています。これが ServiceManager の出番だと私には思えます。私の目標は、モジュール (コントローラーではなくモジュール自体) を用意し、アプリケーションがロガーを定義しているかどうかを確認し、定義されている場合はモジュール全体でそのロガーを利用することです。アプリケーションでロガーが定義されていない場合、モジュール全体のログ記録用にモジュールでロガーを定義する必要があります。
この質問はデータベースにも関連しています。たとえば、アプリケーションでデータベース接続のロジックを定義し、モジュールで必要なテーブルのロジックを定義したいとします。これをどのように正確に構成するのですか? また、アプリケーションでデータベース リソースが既に定義されているかどうかをどのように/どこで確認できますか?
注: 私は、Rob Allen のクイックスタート (非常に多くの情報と、これまでのところあいまいさを欠いていることがわかった唯一のリソース) と ZF2 (readthedocs) を調べ、すでにトンをググりました。私が見つけたのは、パズルの特定のピースが「どこに」行くかということになると、一般的に情報が非常に曖昧であるということです.
php - ZF2 アプリケーション全体の変数 (カスタムの一意の要求 ID)
Zend-Framework2 を使用しており、リクエストに関する情報をログに記録したいと考えています。すべてのサーバーが $_SERVER['UNIQUE_ID'] を提供するわけではないので、独自に生成したいと思います (形式については、http://en.wikipedia.org/wiki/Universally_unique_identifierを参照してください)。
ZF2 ではすべてがモジュール内で行われますが、一意の ID を持つアプリケーション全体の変数または定数を作成したいと考えています。それを index.php に追加することはできますが、それは私が思う方法ではありません... 別のオプションは、呼び出されたモジュールの onBootstrap メソッドで一意のリクエスト ID の生成が行われていることです。繰り返しますが、それは望ましくないと思います。
UUID を生成し、それをアプリケーション全体の変数/定数として追加するためのコードをどこに置くのが理想的ですか?
前もって感謝します!
類似の質問: ZF2 で各リクエストをログに記録する
xml - カスタム要素のロギング Zend Log Formatter XML
リクエストに関する情報を取得しようとしていますが、結果を XML ファイルに入れる必要があります。次の要素を使用しています。
- logEntry(ルート) (デフォルト)
- タイムスタンプ (デフォルト) (文字列) タイムスタンプ
- 優先度 (デフォルト) (文字列) 優先度
- priorityName (デフォルト) (文字列) 優先度名
- メッセージ (デフォルト) (文字列) メッセージ
- uniqueId (新規) (文字列) 一意の ID
- method (new) (string) Namespace\Class::MethodName()
- args (新規) (文字列) base64 でエンコードされ、シリアル化された func_get_args();
次のようにする必要があります。
私が読んだドキュメント: http://zf2.readthedocs.org/en/latest/modules/zend.log.formatters.html
動作しないコード:
エラー: 注意: Undefined index: uniqueId in /var/www/library/Zend/Log/Formatter/Xml.php 行 168
Xml.php のコード https://github.com/zendframework/zf2/blob/master/library/Zend/Log/Formatter/Xml.php#L168
$event[$fieldKey] が問題です。$fieldKey は $event['extra'][$fieldKey] にのみ存在します。$this->elementMap はフラットです (extra 用の余分な配列は追加されません)。
私は何を間違っていますか?
これは ZF2 のバグだと思います... Github でコードを読むと、余分なフィールドとキーが見つからず、検出できません... どう思いますか?
zend-framework - Zendログ情報をChromeデバッガコンソールに出力するには?
Zend Framework 1.12Zend_Log_Writer_Firebug
では、firebug コンソールにログ情報を書き込むために使用できます。出力をクロムデバッガコンソールに渡す方法はありますか?
php - Zend\Log がログ ファイルを作成できない
私は ZF2 を学習しており、ZF2 を使用して安らかな Web サービス アーキテクチャをセットアップしようとしています。ログファイルの作成に問題があります。
これが私のモジュール構成です:
ここでは、ロガーをサービスとして作成し、コントローラーでコンストラクターを使用して logginService を注入しようとしました。
うまくいくと思いますが、ZF2 はログ ファイルを作成できず、次のメッセージが表示されます。
だから私の混乱は、ZF2 がログ ファイルを作成できるか、それとも手動で作成する必要があるかということです。
php - Zend_Log は、ログ メッセージの書き込み中に競合状態をどのように防止しますか?
Zend Framework のログ モジュールである Zend_Log を少し調べましたが、同じファイルに複数の php スクリプトが書き込まれている場合に競合状態を防ぐために flock 関数を使用していることはわかりませんでした。私が知っているように、zend フレームワークに基づく Web アプリケーションは、各リクエストを個別の php プロセスとして扱うため、これらのプロセス間で状態を共有できないため、ファイル書き込みアクションを同期させる必要があります。
その理由を知っている人はいますか?