【问题标题】:How to log client IP Address using LogBack如何使用 LogBack 记录客户端 IP 地址
【发布时间】:2020-08-27 13:14:11
【问题描述】:

我使用的是 micronaut 1.2.5,我需要记录客户端 IP 地址。

这是我的 logback.xml

<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>

我需要记录客户端IP地址。

我看到最新的docs already have this feature.

【问题讨论】:

    标签: micronaut


    【解决方案1】:

    我需要记录客户端IP地址。

    您可以使用HttpClientAddressResolver 来解析客户端 IP 地址。

    import io.micronaut.http.HttpRequest;
    import io.micronaut.http.annotation.Controller;
    import io.micronaut.http.annotation.Get;
    import io.micronaut.http.HttpStatus;
    import io.micronaut.http.server.util.HttpClientAddressResolver;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    @Controller("/demo")
    public class DemoController {
        private static final Logger LOG = LoggerFactory.getLogger(DemoController.class);
    
        private final HttpClientAddressResolver addressResolver;
    
        public DemoController(HttpClientAddressResolver addressResolver) {
            this.addressResolver = addressResolver;
        }
    
        @Get("/")
        public HttpStatus index(HttpRequest request) {
            LOG.debug("The client ip address is {}.", addressResolver.resolve(request));
            return HttpStatus.OK;
        }
    }
    

    【讨论】:

    • 有没有办法在logback.xml 中做到这一点?
    • 不,但您可以使用HttpFilter 并将IP 放入MDC 以进行logback
    • @Bobby 在documentation 中有一个关于如何编写过滤器的示例
    • 对不起,这是由 micronaut 制作的。 Spring Boot有类似的解决方案吗?谢谢
    猜你喜欢
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2012-02-16
    • 2014-02-26
    • 2010-12-11
    • 2016-01-12
    • 2021-07-05
    相关资源
    最近更新 更多