查阅
BladeX-tool项目下的
blade-starter-log项目下的
logback-test.yml文件。尝试模仿traceId方式,添加了该模块里的 serverIp字段但是日志里打出的IP是空字符串"",请问如何修改或配置可以正常输出web服务所在服务器IP?
20210603补充:
修改了 LogTraceUtil,IP使用了 INetUtil来获取。可以实现 request请求进行ip信息打印了。但是项目启动的日志的 serverIp还是没有。查看代码好像是因为这里的添加信息是 Filter 去实现的,只是针对请求时才会生效,请问怎么做到启动信息也可以获取到 serverIp信息?
这个需求是因为,我们用 Logstash 读取到汇聚的各个服务器的业务日志信息会,打算根据服务名称+IP,打入不同的业务名称+IP的 ES索引里。
补充:参考了https://blog.csdn.net/huanger_/article/details/115132486
解决了。
你要确认serverIp你是否放到了MDC里,只有正确获取后,才能取到
是不是仿照 ApiLogPublisher、ApiLogListener 和 ApiLogEvent 写一套 ELk代码,在 LogTraceAspect 类下使用ElkLogPublisher发布ElkLogEvent事件,去触发 ElkLogListener,在ElkLogListener 里进行IP 等信息的填充?
您好~20210603更新了下问题,现在可以实现对于 请求 添加 IP了。但是启动日志部分还没有实现获取IP信息请问怎么处理?
服务器 ip 启动之后就定死了,MDC只有 api 请求日志才会有,建议参考这个:How to configure Logback to add host-name/IP to each log event? - Stack Overflow
扫一扫访问 Blade技术社区 移动端