使用Spring Logback配置Kubernetes使用不同的路径登录日志

问题描述 投票:1回答:2

我有一个在Kubernetes pod中运行的Java / Spring应用程序启动程序,日志配置为stdout,可以流畅地从默认路径获取日志:

<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>

我如何将我的Kubernete设置中的stdout以外的其他单独日志文件与Fluentd集成到另一个路径中,以发送json日志?>

我有一个在Kubernetes容器中运行的Java / Spring应用程序启动程序,日志配置为stdout,可以流畅地从默认路径获取日志:@type tail path / var / log / containers / * ... 。

spring logging kubernetes logback fluentd
2个回答
0
投票
在spring boot应用程序的dockerfile中创建将写入日志的目录

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.