当前位置: 首页 > 知识库问答 >
问题:

在java中使用logging appender时,无法在stackdriver上查看日志

祖麻雀
2023-03-14

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

据我所知,要使用logging appender实现stackdriver日志记录,我们需要做两件基本的事情:

  1. 为logback.xml中的云添加appender
  2. 在build.gradle.中添加依赖com.google.cloud:google-Cloud-loging-logback:0.77.0-alpha

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

共有1个答案

谭煜
2023-03-14

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

  1. 创建一个实现AppenderFactory的类
@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;
    }
}
logging:
  level: INFO
  appenders:
  - type: stackdriver
com.acme.gcp.logging.StackdriverLoggingAppenderFactory

我通过在笔记本电脑上本地运行一个应用程序来测试这一点,我可以在谷歌云控制台的堆栈驱动程序日志下看到日志条目。

 类似资料:
  • 我在windows上安装了ELK stack,并将Logstash配置为读取Apache日志文件。我似乎看不到Elasticsearch的输出。我对麋鹿很陌生。 环境设置 Elasticsearch:http://localhost:9200/ Logstash: Kibana:http://localhost:5601/ 以上三个应用程序都是作为服务运行的。 我创建了一个名为“logstash.

  • 问题内容: Google App Engine灵活的环境会自动将stdout和stderr传递到Stackdriver(Google云日志)。但这仅支持纯文本日志消息,而没有任何元数据(甚至不包括日志级别)。 我找到了Google Cloud日志记录的Logback附加程序。 https://cloud.google.com/logging/docs/setup/java 但这似乎还不支持结构化日

  • 类似于无法从其他Docker容器连接到MongoDB容器,但这篇文章的答案对我来说并不适用。 我是Docker的新手。尝试在typescript/express/mongo/mongoose api示例中学习它。 我正在尝试做的(并且遇到问题)是在运行的mongo容器上使用mongo cmd line,在它使用旋转后。即使我的数据很好地保存在Docker卷上,我似乎无法使用cmd line登录数据

  • 好吧,我已经受够了一个星期了。我无法在WAS控制台或日志文件中查看spring日志/castor日志。我在Tomcat中也能做到这一点。我通过在线搜索尝试了大多数方法。但没有任何帮助。我使用的是IBM WAS-7.0.0.11 这是我的log4j。财产。 log4j。阿佩德。console=org。阿帕奇。log4j。控制台Pender log4j。阿佩德。安慰布局=组织。阿帕奇。log4j。图案

  • 问题内容: 我有一个利用Google Cloud Logging API的go应用程序。 相关代码与他们的文档中的该示例相同:https : //github.com/GoogleCloudPlatform/golang- samples/blob/master/logging/logging_quickstart/main.go 检查它是否可与minikube配合使用(我的有效负载出现在日志查看

  • 你们能告诉我我需要做什么来得到我想要的输出吗?谢谢你。