【发布时间】:2020-05-07 20:21:44
【问题描述】:
我有一个在 Kubernetes pod 中运行的应用程序 Java/Spring boot,日志配置为标准输出,fluentd 从默认路径获取日志:
<source>
@type tail
path /var/log/containers/*.log
pos_file /pos/containers.pos
time_key time
time_format %Y-%m-%dT%H:%M:%S.%NZ
tag kubernetes.*
format json
read_from_head true
</source>
在我的 logback xml 配置中,我有一个 appender json 文件:
<appender name="jsonAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/spring-boot-logger.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>1</maxIndex>
<fileNamePattern>${LOG_PATH}.%i</fileNamePattern>
</rollingPolicy>
<KeyValuePair key="service" value="java-app" />
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>1MB</MaxFileSize>
</triggeringPolicy>
</appender>
如何在我的 Kubernetes 设置中将除 stdout 之外的这个单独的日志文件与 Fluentd 集成,以将我的 json 日志发送到不同的路径
【问题讨论】:
标签: spring logging kubernetes logback fluentd