dubbo 获取application和ip 打印日志,以便排查问题.

(1) 服务消费方

dubbo 获取application和ip 打印日志,以便排查问题.. 让对方有针对的去具体某个机器上去排查.

xxxService.xxx();
//
远程调用

boolean

isConsumerSide = RpcContext.getContext().isConsumerSide();
//
本端是否为消费端,这里会返回true

String
serverIP = RpcContext.getContext().getRemoteHost();
//
获取当前线程最后一次调用的提供方IP地址

String
application = RpcContext.getContext().getUrl().getParameter(
"application");
//
获取当前服务配置信息,所有配置信息都将转换为URL的参数

//
...

yyyService.yyy();
//
注意:每发起RPC调用,上下文状态会变化

//
...

(2) 服务提供方

public

class

XxxServiceImpl
implements

XxxService {

    public

void

xxx() {
//
服务方法实现

        boolean

isProviderSide = RpcContext.getContext().isProviderSide();
//
本端是否为提供端,这里会返回true

        String
clientIP = RpcContext.getContext().getRemoteHost();
//
获取调用方IP地址

        String
application = RpcContext.getContext().getUrl().getParameter(
"application");
//
获取当前服务配置信息,所有配置信息都将转换为URL的参数

        //
...

        yyyService.yyy();
//
注意:每发起RPC调用,上下文状态会变化

        boolean

isProviderSide = RpcContext.getContext().isProviderSide();
//
此时本端变成消费端,这里会返回false

        //
...

    }

}

时间: 2024-12-16 19:08:46

dubbo 获取application和ip 打印日志,以便排查问题.的相关文章

Nginx反向代理+Tomcat+Springmvc获取用户访问ip

Nginx+Tomcat+Springmvc获取用户访问ip 1.Nginx反向代理 修改Nginx配置文件 location / { ***********之前代码*******; proxy_set_header host $host; proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;//设置代理服务器ip头,代码获取时的参数 proxy_set_header X-Real-IP $remote_addr; //允许将发

PaperCut Print Logger 免费打印日志记录系统

公司有几十台打印机,分布在不同的部门和场所.为了管理方便,将打印机安装到服务器上,用户只需要双击服务器上的打印机图标即可连接.一直以来,对打印内容都是无控制的,经常会发现在打印机附近堆积了很多无用的与工作无关的资料. 随着公司节能降耗的展开,对打印的控制也有了新了要求.一方面,通过设置权限,让用户只能在指定的打印机打印,另一方面,需要能够记录打印日志,审计用户的打印内容. 理光的打印管理系统可以很好地满足要求,但需要更换现有的打印机,以及采购管理系统,成本太高. 最终找到了PaperCut Pr

springboot aop + logback + 统一异常处理 打印日志

1.src/resources路径下新建logback.xml 控制台彩色日志打印 info日志和异常日志分不同文件存储 每天自动生成日志 结合myibatis方便日志打印(debug模式) <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定义日志文件的存储地址 可以在LogBack 的配置中使用相对路径--> &

获取用户真实IP:(模拟:客户端--F5--nginx--tomcat 后端获取用户真实IP)

模拟:客户端--F5--nginx--tomcat 后端获取用户真实IP 192.168.109.137 :nginx01(充当第一层代理==F5)192.168.109.138 :nginx02(二层代理,业务转发)192.168.109.139 :tomcat (后端业务层) 192.168.109.1 :客户端IP ----------------------------------------------------------------------------------------

nginx+tomcat集群配置(3)---获取真实客户端IP

前言: 在初步构建的nginx+tomcat服务集群时, 发现webserver获取到的客户端ip都是同一个, 皆为作为反向代理服务的nginx所在的机器IP. 这不太符合我们的基本需求, 为将来的数据挖掘和分析带来了麻烦. 不过不用担心, 本文将简单介绍其背后的原因和原理, 以及具体的解决方案, ^_^. 原因分析: webserver在获取客户端ip时, 默认的方式是通过request.getRemoteAddr(), 这种方式本质是从直连的socket中获取到的. 因此客户端直连web s

mqtt.c打印日志

mqtt中自身就带有日志系统Log.h和Log.c,这些日志文件是在客户端调用MQTTClient_create函数是初始化的,MQTTClient_create源码如下: int MQTTClient_create(MQTTClient* handle, const char* serverURI, const char* clientId, int persistence_type, void* persistence_context) { int rc = 0; MQTTClients *

【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地

本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得到客户端的ip,并获取利用新浪api接口获取此ip的归属地. 可以看到,在IE6也是相当正常的. 目录结构如下,非常简单,同样就两个文件,其实如果你愿意,写成一个php文件也可以,但是显示层和逻辑业务层还是不混在一起为好吧? 唯一值得注意的是,这两个文件打死也不能一个叫ipGet.php,ipGet.html

用C11打印日志

以下是使用C11特性打印日志的方法 #include <stdio.h> #include <time.h> static const int MAX_FILE_NAME_LEN = 512; // 文件名长度最大值 int main(int argc, char * argv[]) { // 获取当前时间 time_t seconds_number = time(NULL); tm local_time; localtime_s(&local_time, &sec

Log4j配置的经典总结,打印日志文件,日志存库

    一.介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制 日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程. Log4j 由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来