首页 > 解决方案 > 为什么我的 logback/logstash json 编码器配置在 Mac OS 上不起作用?

问题描述

运行以下 logback-test.xml 配置时,我的日志记录在 Windows 上运行良好。但是在 Mac 上它会创建 logfile.json 但无法向其中写入任何 json 数据?我在 mac OS 上没有日志,但是它在 mac 上输出到 SDOUT 一点问题都没有。

<configuration>
    <timestamp key="time" datePattern="yyyy-MM-dd'_'HH-mm-ss.SSS"/>
    <appender name="RootSiftAppender" class="ch.qos.logback.classic.sift.SiftingAppender">
        <discriminator>
            <Key>test</Key>
            <DefaultValue>logfile</DefaultValue>
        </discriminator>
        <sift>
            <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <File>src\\main\\resources\\${test}.json</File>
                <encoder class="net.logstash.logback.encoder.LogstashEncoder">
                    <timestampPattern>yy:MM:dd'_'HH:mm:ss</timestampPattern>
                    <jsonGeneratorDecorator class="net.logstash.logback.decorate.PrettyPrintingJsonGeneratorDecorator"/>
                    <providers>
                        <logLevel/>
                        <timestamp/>
                        <message/>
                        <loggerName/>
                        <threadName/>
                    </providers>
                </encoder>
                <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                    <FileNamePattern>${test_name}.%i.json</FileNamePattern>
                    <MinIndex>1</MinIndex>
                    <MaxIndex>100</MaxIndex>
                </rollingPolicy>
                <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                    <MaxFileSize>50MB</MaxFileSize>
                </triggeringPolicy>
            </appender>
        </sift>
    </appender>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%n %d{HH:mm:ss} %thread %level %logger{0} %msg</pattern>
        </encoder>
    </appender>

    <root level="RootSiftAppender">
        <appender-ref ref="RootSiftAppender"/>
    </root>
    <root level="DEBUG">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

标签: javalogstashlogback

解决方案


推荐阅读