如何配置LogBack输出服务器IP

Blade 未结 2 1622

查阅

BladeX-tool项目下的

blade-starter-log项目下的

logback-test.yml文件。尝试模仿traceId方式,添加了该模块里的 serverIp字段但是日志里打出的IP是空字符串"",请问如何修改或配置可以正常输出web服务所在服务器IP?

image.png



20210603补充:

修改了 LogTraceUtil,IP使用了 INetUtil来获取。可以实现 request请求进行ip信息打印了。但是项目启动的日志的 serverIp还是没有。查看代码好像是因为这里的添加信息是  Filter 去实现的,只是针对请求时才会生效,请问怎么做到启动信息也可以获取到 serverIp信息?

这个需求是因为,我们用 Logstash 读取到汇聚的各个服务器的业务日志信息会,打算根据服务名称+IP,打入不同的业务名称+IP的 ES索引里。
image.png

补充:参考了https://blog.csdn.net/huanger_/article/details/115132486
解决了。


2条回答
  • 2021-06-01 17:46

    你要确认serverIp你是否放到了MDC里,只有正确获取后,才能取到

    image.png

    image.png

    作者追问:2021-06-02 22:06

    是不是仿照 ApiLogPublisher、ApiLogListener 和 ApiLogEvent 写一套 ELk代码,在 LogTraceAspect 类下使用ElkLogPublisher发布ElkLogEvent事件,去触发 ElkLogListener,在ElkLogListener 里进行IP 等信息的填充?

    作者追问:2021-06-03 15:05

    您好~20210603更新了下问题,现在可以实现对于 请求 添加 IP了。但是启动日志部分还没有实现获取IP信息请问怎么处理?

    0 讨论(0)
  • 2021-06-07 09:48

    服务器 ip 启动之后就定死了,MDC只有 api 请求日志才会有,建议参考这个:How to configure Logback to add host-name/IP to each log event? - Stack Overflow

    0 讨论(0)
提交回复