1

アプリケーション ロジックの多くが Crossbar WAMP ブローカー (OSX 10.11.6 の Twisted 16.3.0 を使用したバージョン 0.15.0) を使用して接続された多数のマイクロサービスに分割されているアプリケーションに WAMP を使用しています。

Twisted の Logger 機能を使用してこのアプリケーションのロギングを実装しています。ここでは、globalLogPublisher に追加された多数のカスタム オブザーバーを使用して、ログ レコードをフィルタリングし、データベースに保存します。

私が抱えている問題は、このアプリケーション ロガーが、Twisted Logger フレームワークも使用する Crossbar のロガーと連携してうまく動作しないことです。クロスバーがロギング プロセスを制御できるようになりました。たとえば、ログレベルの場合、アプリケーションをデバッグするためにクロスバーのログレベルをデバッグに設定する必要があります。クロスバー自体がデバッグ モードで非常にノイズが多く、アプリケーションからのデバッグ メッセージを見つけるのが難しいため、これは望ましくないと思います。名前空間とログレベル フィルタリングを使用することもできますが、クロスバーはアプリケーションのサービスであるため、ログ プロセスを制御するべきではないと考えています。

制御を取り戻すことができるかどうか、またその方法を知りたいです。クロスバー自体のログレベルが情報レベルのままである間に、アプリケーションのデバッグログレベルを設定できることは本当に役に立ちます。

私のアプリケーションのロギング アーキテクチャの概要:

  1. アプリケーションは、ここでは「アプリケーション」と呼ばれる Python パッケージです。
  2. パッケージ __main__.py で、アプリケーションが開始されます。ロギングの場合、これは次のことを意味します。
    • ここで説明されているように、2 つのカスタム オブザーバーを追加します
    • ワンプレットとして実装されたアプリケーション マイクロサービス (こののように) はブートストラップされます。各マイクロサービスは、ログに Twisted ロガーを使用します。
  3. __main__.py の最後の 2 行で、Crossbar cli コントローラーがインポートされ (crossbar.controller.cli import run から)、Crossbar イベント ループが開始されます (run())。
  4. したがって、アプリケーションは次のように開始されます: python application start (任意のクロスバー cli 引数をここに)
4

0 に答える 0