Я пытаюсь настроить журналы доступа в micronaut, но, поскольку библиотека доступа к журналам использует фильтр сервлета, я не вижу прямого способа сделать это. Есть ли другое решение? Некоторая скрытая конфигурация Micronaut или надежный адаптер фильтра (оболочка Micronaut Filter для фильтров Servlet была бы отличной)
Может ли micronaut регистрировать журналы доступа с помощью logback?
Ответы (2)
http-сервер Micronaut поддерживает автоматическое добавление LoggingHandler
, вы должны указать micronaut.server.netty.logLevel: <<level>>
в своей конфигурации, где level
— это TRACE, DEBUG, INFO, WARN, ERROR. Я не знаю, предоставит ли это ту же информацию, что и logback-access, но вы можете попробовать.
РЕДАКТИРОВАТЬ: Обязательно настройте регистратор. Например, в журнале:
<logger name="io.netty.handler.logging" level="TRACE"/>
io.micronaut.http.server.netty
, фрагментировано и не завершено.
- person leoconco; 11.02.2019
Я использовал mn CLI для создания своего приложения (используя groovy в качестве языка для моей разработки), и код mn сгенерировал тривиальный файл logback.xml. с первого раза, когда я запустил свое приложение, ведение журнала работало.
Вот что было сгенерировано OOTB:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}) - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Затем я перешел на домашнюю страницу журнала и использовал его генератор кода, чтобы преобразовать начальное число mn xml в logback.groovy.
вот результат после того, как я добавил свой регистратор для пакета hello.world.
// ----------------------------------------------------------
//
// Built on Sun Jul 07 02:41:38 CEST 2019 by logback-translator
// For more information on configuration files in Groovy
// please see http://logback.qos.ch/manual/groovy.html
// For assistance related to this tool or configuration files
// in general, please contact the logback user mailing list at
// http://qos.ch/mailman/listinfo/logback-user
// For professional support please see
// http://www.qos.ch/shop/products/professionalSupport
// ----------------------------------------------------------
import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender
import static ch.qos.logback.classic.Level.DEBUG
appender("STDOUT", ConsoleAppender) {
withJansi = true
encoder(PatternLayoutEncoder) {
pattern = "%cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}) - %msg%n"
}
}
root(INFO, ["STDOUT"])
logger("hello.world", DEBUG)