如何使用log4j2获取系统IP

时间:2018-03-05 09:26:01

标签: java log4j2

我的项目是群集形式,在使用rabbitmq -n rabbit@local.machine.domain.name时,我想知道哪个系统收到了请求,当我检查日志时,我还应该看到系统IP作为日志中的参数。

当我们使用log4j2时,在日志文件中你会得到时间&班级名称。

logger.debug

在这一行中我还想知道系统IP。

1 个答案:

答案 0 :(得分:0)

问题似乎是Getting IP address of client的可能重复,下面的代码可以用来打印ip地址。它在一定程度上有帮助

 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