【发布时间】:2023-03-16 23:20:01
【问题描述】:
我在 Google Kubernetes Engine 集群上运行 Apache Spark 应用程序,它将 STDOUT 和 STDERR 的任何输出传播到 Cloud Logging。但是,不会传播粒度日志严重性级别。所有消息在 Cloud Logging 中都只有 INFO 或 ERROR 严重性(取决于它是写入 stdout 还是 stderr),并且实际严重性级别隐藏在文本属性中。
我的目标是格式化 Structured Logging JSON format 中的消息,以便将严重性级别传播到 Cloud Logging。不幸的是,Apache Spark 仍然使用已弃用的 log4j 1.x 库进行日志记录,我想知道如何格式化日志消息,以便 Cloud Logging 可以正确提取它们。
到目前为止,我使用的是以下默认 log4j.properties 文件:
log4j.rootCategory=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
【问题讨论】:
标签: apache-spark log4j google-kubernetes-engine stackdriver google-cloud-logging