Logback:如何将记录器名称写入附加程序日志文件名称?

问题描述 投票:0回答:1
java spring-boot logback spring-logback logback-classic
1个回答
0
投票

您可以尝试使用

SiftingAppender
中的
Logback
,它可以根据运行时属性来分离日志。

<configuration>
    <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
        <discriminator>
            <key>loggerName</key>
            <defaultValue>unknown</defaultValue>
        </discriminator>
        <sift>
            <appender name="FILE-${loggerName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
                <file>logs/${loggerName}.log</file>
                ...
            </appender>
        </sift>
    </appender>

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

SiftingAppender
使用鉴别器在运行时确定日志文件名。
${loggerName}
的文件属性中的
RollingFileAppender
占位符将替换为每条日志消息的记录器名称。

!!!但是请考虑到

SiftingAppender
比常规附加程序更需要资源密集型

© www.soinside.com 2019 - 2024. All rights reserved.