【Furion】log4j2区分不同客户端的日志

本文介绍了在Furion框架中如何使用log4j2区分不同客户端的日志,通过设置系统属性和log4j2.xml配置,确保日志按客户端写入不同文件并添加前缀标识,以便于在grafana+loki环境中搜索和分析。文章详细阐述了问题背景、设计思路、解决方案及实际效果。
摘要由CSDN通过智能技术生成

一、应用场景

性能平台需要区分并查看各个客户端的日志信息,方便用户在调试或者运行时查看日志,定位分析执行问题或服务问题

二、解决方案

通常有两种方法来解决这个问题:

  1. 不同客户端日志写入不同文件
  2. 不同客户端日志写入同一文件,给日志添加客户端前缀标识

在此次解决中两种方式结合使用,不同客户端的文件名根据增加特定id区分,在日志文件中给日志增加前缀标识

原因:

  • grafana+loki支持搜索文件的方法直接搜索特定文件名的文件
  • grafana+loki支持全局某个字段的搜索

三、设计思路

设计背景:

  • log4j2仅在程序启动时初始化一次
  • clientId(客户端唯一识别)的生命周期:启动软件 -> 关闭软件,动态变化

设计思路:

  • 程序启动时初始化clientId,并做为这个客户端的唯一标识
  • 把clientId添加到log4j2.xml配置文件

四、相关配置

4.1 添加系统属性

在服务main函数中配置系统属性

try {
   
//设置本机地址到环境变量
	System.setProperty("clientId", LocalIP.getIpAddress
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sysu_lluozh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值