2016-03-05 83 views
4

我试图找出是否有可能使用log4j appender在我的谷歌容器引擎应用程序中输出消息(日志行),以便它们可以通过运行的谷歌云日志记录代理正确处理的盒子。谷歌云日志记录格式

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

+1

看来你在你的划伤痒:https://github.com/ankurcha/gcloud-logging-slf4j-logback – Somatik

+0

是我做到了。它运作良好 –

回答

2

所有你需要的是将你的日志写入容器中的标准输出。 kubernetes中的所有容器都被另一个容器通过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> 
+3

我确实有这个作为输出,它看起来很好,但输出一个简单的日志线使得很难正确搜索。我注意到,如果我输出json并且有严重性,消息,时间戳等字段,我可以在日志查看器中使用搜索和聚合获得更好的时间。是否有一些指导,说明所有字段是由日志服务“解析”的? –