【问题标题】:Not able to see logs on stackdriver while using logging appender in java在 Java 中使用日志记录附加程序时无法查看堆栈驱动程序上的日志
【发布时间】:2019-01-22 04:06:00
【问题描述】:

我的应用程序在 dropwizard 中,最近我已将其上传到 gcp。对于日志记录,我们需要使用 stackdriver。我不是 gcp 专家,只是关注 https://cloud.google.com/logging/docs/setup/java 。我使用 logging appender 方式在 stackdriver 上显示日志。

据我所知,要使用日志记录附加程序实现堆栈驱动程序日志记录,我们需要做两件事:

  1. 在 logback.xml 中为云添加 appender
  2. 添加依赖 'com.google.cloud:google-cloud-logging-logback:0.77.0-alpha' build.gradle。

每当我选择部署应用程序的实例时,我都无法在 stackdriver 上看到日志。

【问题讨论】:

    标签: java logging google-cloud-platform stackdriver


    【解决方案1】:

    对于 dropwizard,它稍微复杂一些,因为它非常固执己见。以下是将 stackdriver 日志与云日志结合使用所需的步骤。注意:我使用的是com.google.cloud:google-cloud-logging-logback 库的0.77.0-alpha 版本。

    1. 创建一个实现 AppenderFactory<ILoggingEvent> 的类,该类具有 JsonTypeName 注释:
    @JsonTypeName("stackdriver")
    public class StackdriverLoggingAppenderFactory implements AppenderFactory<ILoggingEvent> {
    
        @Override
        public Appender<ILoggingEvent> build(LoggerContext context, String applicationName,
                                             LayoutFactory<ILoggingEvent> layoutFactory,
                                             LevelFilterFactory<ILoggingEvent> levelFilterFactory,
                                             AsyncAppenderFactory<ILoggingEvent> asyncAppenderFactory) {
            final LoggingAppender appender = new LoggingAppender();
            appender.setName("stackdriver");
            appender.setContext(context);
            appender.start();
            return appender;
        }
    }
    
    1. 将注释的值添加到 dropwizard 配置 (yaml) 文件的日志记录部分:
    logging:
      level: INFO
      appenders:
      - type: stackdriver
    
    1. 将名为io.dropwizard.logging.AppenderFactory 的文件添加到src/main/resources/META-INF.services。该文件应包含在步骤 1 中创建的完全限定的包和类名,例如,
    com.acme.gcp.logging.StackdriverLoggingAppenderFactory
    
    1. 最后,添加一个环境变量,键为GOOGLE_CLOUD_PROJECT,值为运行实例的项目ID。

    我通过在笔记本电脑上本地运行应用程序对此进行了测试,我可以在 Google Cloud Console 中的 Stackdriver Logging 下看到日志条目。

    【讨论】:

      猜你喜欢
      • 2020-05-06
      • 2016-07-11
      • 2019-01-11
      • 2019-04-16
      • 2016-08-27
      • 1970-01-01
      • 2019-10-10
      • 2018-12-15
      • 1970-01-01
      相关资源
      最近更新 更多