1

我正在将 WAMP 用于一个应用程序,其中大部分应用程序逻辑被划分为使用 Crossbar WAMP 代理(OSX 10.11.6 上的 Twisted 16.3.0 版本 0.15.0)连接的多个微服务。

我正在使用 Twisted 的 Logger 功能实现此应用程序的日志记录,其中我使用添加到 globalLogPublisher 的许多自定义观察者来过滤日志记录并将它们存储在数据库中。

我遇到的问题是我没有让这个应用程序记录器与也使用 Twisted Logger 框架的 Crossbar 记录器很好地协同工作。Crossbar 现在可以控制日志记录过程。例如,对于日志级别,我必须为 Crossbar 设置日志级别以进行调试,以便调试我的应用程序。我觉得这是不可取的,因为 Crossbar 本身在调试模式下非常嘈杂,因此很难从我的应用程序中发现调试消息。我可以使用命名空间和日志级别过滤,但我认为 Crossbar 作为我的应用程序中的一项服务,不应该控制日志记录过程。

我想知道是否以及如何重新获得控制权。能够为我的应用程序设置调试日志级别,而 Crossbar 自己的日志级别保持在信息级别将非常有帮助。

我的应用程序的日志记录架构概述:

  1. 该应用程序是一个 Python 包,此处称为“应用程序”
  2. 在包 __main__.py 中启动应用程序。对于记录这意味着:
    • 如此处所述添加两个自定义观察者
    • 实现为 wamplet 的应用程序微服务(如本例所示)是自举的。每个微服务都使用 Twisted logger 进行日志记录。
  3. 在 __main__.py 的最后两行中,Crossbar cli 控制器被导入(从 crossbar.controller.cli import run)并启动 Crossbar 事件循环(run())。
  4. 因此,应用程序启动为:python application start(此处的任何交叉开关 cli 参数
4

0 回答 0