【问题标题】:Logback AsyncAppender unable to print method name and line numberLogback AsyncAppender 无法打印方法名称和行号
【发布时间】:2015-08-11 11:12:18
【问题描述】:

我正在使用 logback AsyncAppender ch.qos.logback.core.rolling.RollingFileAppender 将日志打印到具有以下配置的文件。如果在控制台上打印一切正常,但在日志文件中,方法名称和行号打印为“?”特点。

Logback 配置

<appender name="activity_appender"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${log.folder}/${log.activity.fileName}</File>
        <encoder>
            <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} -APP- %X{HOST} %X{requestId} [%t] %.-5level %logger{60}.%M-%L - %msg %n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${log.folder}/${log.activity.fileName}-%d{YYYY-MM-dd}.%i
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the file size reaches 100MB -->
                <maxFileSize>${log.file.maxsize}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

样本输出

2015-08-11 16:30:00.051 -APP-   [scheduler-1] WARN c.some.package.class.?-? - Configuration not present for configType:global or keysms.template Picking default value: 2 

需要的输出

2015-08-11 16:30:00.051 -APP-   [scheduler-1] WARN c.some.package.class.method-98 - Configuration not present for configType:global or keysms.template Picking default value: 2 

【问题讨论】:

标签: java spring logging logback logback-groovy


【解决方案1】:

我遇到了同样的问题并尝试了两种方法来解决它。它们如下所示,但只是第二种方法:

1: <includeCallerData>true</includeCallerData>

有人说解决问题很好,但不适合我。

2: <param name="locationInfo" value="true" />

添加此行后,我设法让 asyncappender 输出行号。

享受第二种方式!

【讨论】:

    猜你喜欢
    • 2020-04-16
    • 2015-11-02
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    相关资源
    最近更新 更多