blob: 4ed9a4577957657638dc321bf7b3bb57c2098826 [file]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 错误码 FAQ</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/</link><description>Recent content in 错误码 FAQ on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: 0 - Common 层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/0/</guid><description>
&lt;p>这里主要是用于表示各个层通用的组件上所发生的错误。&lt;/p></description></item><item><title>Overview: 1 - 注册中心层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/1/</guid><description>
&lt;p>这里主要是用于表示注册中心层上所发生的错误。&lt;/p></description></item><item><title>Overview: 2 - 路由层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/2/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/2/</guid><description/></item><item><title>Overview: 3 - 动态代理层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/3/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/3/</guid><description/></item><item><title>Overview: 4 - 协议层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/4/</guid><description/></item><item><title>Overview: 5 - 配置(中心)层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/5/</guid><description/></item><item><title>Overview: 6 - 网络传输层</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/6/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/6/</guid><description/></item><item><title>Overview: 7 - QoS 插件模块</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/7/</guid><description/></item><item><title>Overview: 81 - 单元测试辅助模块(注册中心)</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/81/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/81/</guid><description>
&lt;p>这里主要是 &lt;code>dubbo-test&lt;/code> 模块中用于测试注册中心模块的代码的相关错误码。&lt;/p></description></item><item><title>Overview: 99 - 其它未知错误</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/99/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/99/</guid><description/></item><item><title>Overview: 错误码机制的介绍</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/intro/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/intro/</guid><description>
&lt;h3 id="背景">背景&lt;/h3>
&lt;p>Dubbo 内部依赖的 Logger 抽象层提供了日志输出能力,但是大部分的异常日志都没有附带排查说明,导致用户看到异常后无法进行处理。&lt;/p>
&lt;p>为了解决这个问题,自 Dubbo 3.1 版本开始,引入了错误码机制。其将官方文档中的错误码 FAQ 与日志框架连接起来。在日志抽象输出异常的同时附带输出对应的官网文档链接,引导用户进行自主排查。&lt;/p>
&lt;h3 id="错误码格式">错误码格式&lt;/h3>
&lt;p>&lt;code>[Cat]-[X]&lt;/code>&lt;/p>
&lt;blockquote>
&lt;p>两个空格均为数字。其中第一个数字为类别,第二个数字为具体错误码。&lt;/p>
&lt;/blockquote>
&lt;h3 id="提示显示的格式">提示显示的格式&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>This may be caused by ..., go to https://dubbo.apache.org/faq/[Cat]/[X] to find instructions.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>另外在这句话后可以指定补充的信息(即 extendedInformation)。&lt;/p>
&lt;/blockquote>
&lt;h3 id="显示的实例">显示的实例&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>[31/07/22 02:43:07:796 CST] main WARN support.AbortPolicyWithReport: [DUBBO] Thread pool is EXHAUSTED! Thread Name: Test, Pool Size: 0 (active: 0, core: 1, max: 1, largest: 0), Task: 0 (completed: 0), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://10.20.130.230:20880!, dubbo version: , current host: 10.20.130.230, error code: 0-1. This may be caused by too much client requesting provider, go to https://dubbo.apache.org/faq/0/1 to find instructions.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>用户只需点击链接即可根据错误码查找到原因。&lt;/p>
&lt;/blockquote>
&lt;h3 id="logger-接口支持">Logger 接口支持&lt;/h3>
&lt;p>为确保兼容性,Dubbo 3.1 基于原本的 Logger 抽象,构建了一个新的接口 &lt;code>ErrorTypeAwareLogger&lt;/code>。&lt;/p>
&lt;p>warn 等级的方法进行了扩展如下&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>void warn(String code, String cause, String extendedInformation, String msg);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>void warn(String code, String cause, String extendedInformation, String msg, Throwable e);
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中 code 指错误码,cause 指可能的原因(即 caused by&amp;hellip; 后面所接的文字),extendedInformation 作为补充信息,直接附加在 caused by 这句话的后面。&lt;/p>
&lt;blockquote>
&lt;p>对于 error 级别也做了相同的扩展。&lt;/p>
&lt;/blockquote></description></item></channel></rss>