如何使用log4j2获取系统IP

问题描述 投票:0回答:1

我的项目是集群形式,在使用logger.debug时,我想知道哪个系统收到了请求,当我检查日志时,我还应该看到系统IP作为日志中的参数。

当我们使用log4j2时,在日志文件中你会获得类的时间和名称。

[DEBUG ] 2018-03-05 01:16:43.233 <className>

在这一行中我还想了解系统IP。

java log4j2
1个回答
0
投票

问题似乎是Getting IP address of client的可能重复,下面的代码可以用来打印ip Address.hope它有助于一定程度

 Something like this:
 MDC.put("ip", PortalUtil.getHttpServletRequest(request).getRemoteAddr() );
 MDC.put("user", request.getRemoteUser());

 With appender configuration:
 <appender name="MY_APPENDER" class="org.apache.log4j.ConsoleAppender">
   <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%X{ip}][%X{user}][%c{1}:%L] %m%n" />
    </layout>
 </appender>

参考:https://web.liferay.com/community/forums/-/message_boards/view_message/18089322#_19_message_18089322

© www.soinside.com 2019 - 2024. All rights reserved.