micronaut可以通过logback记录访问日志吗?

时间:2019-02-08 19:23:38

标签: logback micronaut

我正在尝试在micronaut中设置访问日志,但是,由于logback-access库使用servlet过滤器,因此我看不到直接的方法。 有其他解决方案吗?一些隐藏的Micronaut配置或过滤器的可信任适配器(用于Servlet过滤器的Micronaut过滤器包装会很棒)

2 个答案:

答案 0 :(得分:2)

Micronaut http服务器支持自动添加LoggingHandler,您必须在配置中提供micronaut.server.netty.logLevel: <<level>>,其中level是TRACE,DEBUG,INFO,WARN,ERROR之一。我不知道是否会提供与logback-access相同的详细信息,但是您可以尝试一下。

编辑:确保还配置记录器。例如在logback中:

<logger name="io.netty.handler.logging" level="TRACE"/>

答案 1 :(得分:0)

我使用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>

然后,我进入了logback主页,并使用其code generator将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)

相关问题