2016-03-05 86 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並且有嚴重性,消息,時間戳等字段,我可以在日誌查看器中使用搜索和聚合獲得更好的時間。是否有一些指導,說明所有字段是由日誌服務「解析」的? –