谷歌云日志的日志格式

Ank*_*han 5 java google-cloud-platform google-cloud-logging

我试图弄清楚是否可以使用 log4j appender 在我的 google 容器引擎应用程序中输出消息(日志行),以便它们可以由运行该框的 google 云日志代理正确处理。

是否有记录日志格式的地方或类似的地方。

Eas*_*est 2

您所需要做的就是将日志写入容器中的标准输出。kubernetes 中的所有容器都由另一个容器 Fluentd 监听 STDOUT。只需将 consolappender 添加到配置中,日志就会出现在

<configuration>

  <!--Daily rolling file appender-->
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>target/surefire-reports/blah-logback.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <FileNamePattern>blah-logback.log.%d{yyyy-MM-dd}</FileNamePattern>    
    </rollingPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%-10.10thread] %logger{36} - %msg%n%rEx</Pattern>
      <immediateFlush>true</immediateFlush>
    </encoder>
  </appender>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
  </appender>
  <root level="INFO">
    <appender-ref ref="FILE"/>  
    <appender-ref ref="STDOUT"/>
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

  • 我确实将其作为输出,看起来不错,但是输出简单的日志行使得正确搜索变得非常困难。我注意到,如果我输出 json 并具有严重性、消息、时间戳等字段,我可以在日志查看器中进行搜索和聚合,从而获得更好的时间。关于日志服务“解析”所有字段的内容是否有一些指导? (3认同)