问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

如何开启Dubbo框架内部的日志

发布网友 发布时间:2022-04-29 01:25

我来回答

1个回答

热心网友 时间:2022-04-27 11:41

在bbo框架内所有的日志输出都是通过
LoggerFactory这个静态工厂类来获得Logger的对象实体,并且抽离了一个LoggerAdapter用于对接第三方日志框架,所以就有了JDKLoggerAdapter,Log4jLoggerAdapter,SLF4JLoggerAdapter等一些实现子类,分别对接了不同Log第三方实现。既然bbo能够支持这么多log实现,那么这些实现在bbo中优先级是在呢么样的呢?这里的优先级是只未配置指定的logger提供方的情况下,由bbo框架自己选择。优先级如下:

第三方日志框架优先级
Log4j最高(默认就用这个)
SLF4J次高(上面没有采用这个)
Common Logging(jcl就是common logging)次低(Log4j和SLF4J在项目中均没有就用这个)
JDK log最低(最后的选择)
上面说的有和没有是指你的项目classpath下面有没有对应的jar包,如果有则表示支持对应的日志实现。下面粘贴出Dubbo选择日志提供方的代码:
// 查找常用的日志框架
static {
String logger = System.getProperty("bbo.application.logger");
if ("slf4j".equals(logger)) {
setLoggerAdapter(new Slf4jLoggerAdapter());
} else if ("jcl".equals(logger)) {
setLoggerAdapter(new JclLoggerAdapter());
} else if ("log4j".equals(logger)) {
setLoggerAdapter(new Log4jLoggerAdapter());
} else if ("jdk".equals(logger)) {
setLoggerAdapter(new JdkLoggerAdapter());
} else {
try {
setLoggerAdapter(new Log4jLoggerAdapter());
} catch (Throwable e1) {
try {
setLoggerAdapter(new Slf4jLoggerAdapter());
} catch (Throwable e2) {
try {
setLoggerAdapter(new JclLoggerAdapter());
} catch (Throwable e3) {
setLoggerAdapter(new JdkLoggerAdapter());
}
}
}
}
}
上面这段静态块是在LoggerFactory里面,说明只要LoggerFactory类一加载就会去选择对应的日志提供方。大家可能会发现对日志的提供方其实是可以通过配置来指定的,因为静态块一开始是从当前jvm环境中获取bbo.application.logger,这个参数是同java -Dbbo.application.logger=xxxx去指定的,如果是放在容器里面,就需要配置在容器启动的jvm参数里面。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
LG 42LE5500-CALG 42LE5500-CA功能介绍 智能局域控光要不要开 小孩脸上湿疹最佳治疗方法是什么? 小孩湿疹最佳治疗方法?知道吗 伊宁市去乌鲁木齐的火车票要提前几天预订 什么是谋财害命?是何犯罪?当如何量刑? mfc如何实现游戏中键盘上多个按键同时持续发送消息 杀人案件解释 菜信商圈支持银行卡支付吗? 【新香港十大奇案】德福花园五尸命案,摇身一变茅山道士,谋财害命... myeclipse中java.lang.OutOfMemoryError: PermGen space怎么解决 [solr配置问题]我按照网上说的方法去配置,可是TOMCAT启动,就是访问不了SOLR欢迎页面。 在什么情况下,信息传递最容易扭曲 Logger.getLogger和LogFactory.getLog的区别 [1] 信息沟通中的障碍是导致信息在传递过程中出现失真的主要原因,常见的沟通障碍有哪些? 如何设置hadoop hbase的Log Appender java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 我在启动tomcat的出现的问题 沟通失败的原因编码失真实例 网络信息传播过程中为什么还会失真? 描写桃子鲜嫩多汁可口的诗句 在组织沟通中,如何保证信息传递的准确性和有效性? Logger.getLogger和LogFactory.getLog的区别是什么? 几首有关桃子的诗 高中材料作文,求辨析!! c#common.logging 怎么用 小米手环如何门禁 描写桃子的诗句有哪些? 小米手环5怎么绑定门禁卡 你能说说现代社会在电子通讯下,信息传递还会失真么? 信息传递失真较低是口语媒介的优点? druid sql监控页面 最慢是什么意思 华莱健黑茶交2万拉人头做会员属于传销吗? 纤丽莱效果怎么样? 客观的评价华莱黑茶怎么样 华莱黑茶的功效 湖南安化华莱黑茶买一份3900元,说是直销,几个月赚十万元,我一个亲戚买了两万元的,我怎么感觉是传销 华莱健黑茶是传销吗? 推销华莱健黑茶是传销吗 孕妇 可以喝簕莱茶吗 合肥迪可莱企业管理咨询有限公司怎么样? 我妈做华莱黑茶花费2万,怎样可以维护自己的权益? 华莱黑茶真有那么好么,它真有那么多功效么 二手车过户满一年续买交强险多少钱? 郑州二手车1.5排量一年交强险和车船税总共多少钱 好茶要用好水配,谁知道什么样的水才是好水? 好茶配好水,下一句怎么接押韵 好水配好茶,泡普洱茶时用水有哪些注意事项? 为什么有人说好水才能泡出好茶? “好水沏好茶”好水指的是什么水 好茶配好水,冲泡东卓茶,建议使用农夫山泉,东卓茶通常冲泡使用哪里的农夫山泉最好???
  • 焦点

最新推荐

猜你喜欢

热门推荐