2017-01-14 7 views
2

У меня есть приложение для фреймворка со всеми стандартными конфигурациями. Я изменяю logback.xml так:Play framework 2.5 logs `?` Вопросительные знаки вместо номеров строк

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%coloredLevel %logger{15} %L - %message%n%xException{10} </pattern> 
    </encoder> 
</appender> 

Я попытался вместо %L поставить там %line, %class и т.д. - все к тому же результату, что выводит ? в сообщении журнала, как это:

[info] application ? - Checking cart... 

Я также попытался выполнить принятый ответ на этот вопрос: Scala Play framework: logger pattern for displaying file and line
и положил val logger = Logger(this.getClass) внутри моего класса. Еще один результат. Есть ли способ исправить это? Версия журнала, указанная в файле build.sbt, равна 2.11.

+0

Попробуйте добавить ' true' внутри вашего тега 'appender' – Salem

+0

nope не помогло. также попробовал ' Vasily802

ответ

0

Использование %L, поскольку в вашем вопросе отлично работает для меня как в Play 2.4, так и в Play 2.5 (точные версии: 2.4.6 и 2.5.12).

Отметьте, однако, что я не явно указать любую желаемую версию журнала в любом приложении build.sbt.

Это приводит (для приложения Play 2.5):

+-com.typesafe.play:play-logback_2.11:2.5.12 [S] 
| +-ch.qos.logback:logback-classic:1.1.7 
| | +-ch.qos.logback:logback-core:1.1.7 
| | +-org.slf4j:slf4j-api:1.7.20 (evicted by: 1.7.21) 
| | +-org.slf4j:slf4j-api:1.7.21 

(дерево зависимостей через sbt-dependency-graph плагин)

Если вы видите другую версию Logback, попробуйте удалить любое объявление явной зависимости , чтобы вы видели те же версии библиотек в дереве зависимостей.

Надеюсь, это поможет.