Logyn AsyncAppender не может напечатать имя метода и номер строки
Я использую logback AsyncAppender ch.qos.logback.core.rolling.RollingFileAppender для печати журналов в файл со следующей конфигурацией. Все работает нормально, если печатать на консоли, но в лог-файле имя метода и номер строки печатаются как "?" персонаж.
Конфигурация обратного входа
<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
1 ответ
Я столкнулся с той же проблемой и попытался исправить ее двумя способами. они показаны ниже, но работает только второй способ:
1: <includeCallerData>true</includeCallerData>
некоторые говорили, что решать проблему хорошо, но не для меня.
2: <param name="locationInfo" value="true" />
после добавления этой строки мне удалось заставить asyncappender вывести номер строки.
наслаждайся вторым способом!