【问题标题】:Is there is a way to set up google cloud logging for quarkus?有没有办法为 quarkus 设置谷歌云日志?
【发布时间】:2021-08-24 11:00:21
【问题描述】:

阻止我在我的项目中使用 quarkus 的唯一原因是缺乏对谷歌云日志记录的支持。

https://cloud.google.com/logging/docs/setup/java

因为 google cloud logging 使用 Logback appender 进行云日志记录,而 quarkus 使用 JBoss Logging。

有没有办法解决这个问题?或者可能有一些解决方法?

谢谢

【问题讨论】:

  • 显然 Cloud Logging 支持也可以通过使用 java.util.logging 处理程序来实现。 Quarkus 使用 JBoss LogManager 作为日志后端,它是 JUL 的扩展,因此使用 JUL 处理程序 (com.google.cloud.logging.LoggingHandler) 可能会起作用。
  • @Ladicek 谢谢,我会努力完成这项工作。我希望有更直接的方法,或者开箱即用的方法,如果它有效,我会更新这个线程
  • 您可能需要扩展才能使用不同的日志处理程序。对于与 Google Cloud 相关的扩展,他们的开发在此 repo github.com/quarkiverse/quarkus-google-cloud-services 中,您可以打开功能请求甚至发送 PR ;) 我是此扩展包的维护者。
  • @Ladicek 谢谢你的建议,但目前看来不可能,github.com/quarkusio/quarkus/issues/6133

标签: google-cloud-platform logback quarkus google-cloud-logging jboss-logging


【解决方案1】:

StackDriver 将使日志行显示在 Google Cloud Logging 中。

Quarkus 支持多种日志记录 API:JUL (java.util.logging)、JBoss Logging、SLF4J 和 Apache Commons Logging。

java.util.logging 配置(JUL):

Logging handlers 可以通过编程方式或使用配置文件添加。配置文件的路径必须作为系统属性提供给您的应用程序:-Djava.util.logging.config.file=/path/to/logging.properties 您可以使用 JUL 处理程序 com.google.cloud.logging.LoggingHandler

JBoss 日志记录:

Quarkus 内部使用 JBoss 日志记录;你也可以在你的应用程序中使用它,这样就不应该为你的日志添加其他依赖项。

注意:如果您使用 JBoss 日志记录,但您的库之一使用不同的日志记录 API,您可能需要配置一个日志记录适配器。

SLF4J:

通过使用 Logback appender,您可以将 Cloud Logging 与 SLF4J 日志记录外观结合使用。

将 Logback 配置为使用 Cloud Logging Logback 附加程序后,您现在可以使用 SLF4J 日志记录 API 重定向日志。 snippet 展示了如何在应用程序中使用 SLF4J 外观进行日志记录。

请参阅guide,了解有关 Quarkus 配置日志的更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-04
    • 2021-10-31
    • 2020-10-03
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2020-04-17
    相关资源
    最近更新 更多