【问题标题】:Kubernetes log location inside the podpod 内的 Kubernetes 日志位置
【发布时间】:2018-06-27 03:28:01
【问题描述】:

我有一个 Spring Boot 应用程序的 docker 映像,日志文件位置为 --logging.config=/conf/logs/logback.xml,日志文件如下。

我可以得到日志

kubectl 日志 POD_NAME

但是,当我登录到 pod 时,找不到日志文件。是否有放置日志文件的默认位置,因为我没有在 logback.xml 文件中提及日志记录位置。

日志文件:

<?xml version="1.0" ?>
<configuration>
    <property name="server.encoder.pattern"
        value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %-5level : loggerName=&quot;%logger{36}&quot; threadName=&quot;%thread&quot; txnId=&quot;%X{txnId}&quot; %msg%n" />
    <property name="metrics.encoder.pattern"
        value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %-5level : %msg%n" />

    <!-- Enable LevelChangePropagator for jul-to-slf4j optimization -->
    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator" />

    <appender name="METRICS" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${metrics.encoder.pattern}</pattern>
        </encoder>
    </appender>

    <logger name="appengAluminumMetricsLogger" additivity="false">
        <appender-ref ref="METRICS" />
    </logger>

    <appender name="SERVER" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${server.encoder.pattern}</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="SERVER" />
    </root>
</configuration>

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您从 kubectl 日志中看到的是来自您的服务的控制台日志。只能看到控制台日志,这是通过 docker logs 支持。

    【讨论】:

    • 哦!!!因为,我在我的 logback.xml 中使用了 ConsoleAppender。那么,如果我使用 fileAppended,我不能使用“kubectl 日志”查看日志吗?推荐的做法是什么?我需要将日志发送到 Splunk。那么,我不能使用附加的控制台吗?
    • 是的,如果您只写入文件,您将不会在 kubectl 日志中看到它。正确的方法是遵循 12 因子应用程序 - 12factor.net/logs - 然后使用 logspout、fluentd 等将日志转发到 splunk。
    猜你喜欢
    • 1970-01-01
    • 2020-08-13
    • 2018-11-16
    • 2018-07-27
    • 1970-01-01
    • 2017-11-26
    • 2017-12-24
    • 2018-07-29
    • 1970-01-01
    相关资源
    最近更新 更多