当前位置: 首页 > news >正文

菏泽网站获客网站建设公司建个网站多少钱

菏泽网站获客网站建设公司,建个网站多少钱,网站建设那里,甘肃建设银行网站我们在使用 Spring5 的过程中会出现这样的现像#xff0c;就是 Spring5 内部代码打印的日志和我们自己的业务代码打印日志使用的不是统一日志实现#xff0c;尤其是在项目启动的时候#xff0c;Spring5 的内部日志使用的是 log4j2#xff0c;但是业务代码打印使用的可能是 …我们在使用 Spring5 的过程中会出现这样的现像就是 Spring5 内部代码打印的日志和我们自己的业务代码打印日志使用的不是统一日志实现尤其是在项目启动的时候Spring5 的内部日志使用的是 log4j2但是业务代码打印使用的可能是 logback log4j1 或者 其他日志实现 一、Spring4 采用日志是 commons-logging 二、Spring5 内部日志 1.Spring5 内部日志原理 Spring5 自己在 commons-logging 基础上进行修改将修改完的代码单独封装为一个 jar 包Spring5 内部就使用这个jar我们可以注意一下当我们导入 Spring5 的相关 jar 包的时候maven会为我们自动依赖一个 spring-jcl 的jar包这就是那个jar包。 可以看出这这两 jar 包的包名都起的一模一样只是LogFactory的实现是Spring5自己实现的。 2. Spring5 日志关键源码分析 org.apache.commons.logging.LogFactory#getLog(java.lang.String) /*** Convenience method to return a named logger.* param name logical name of the codeLog/code instance to be returned*/public static Log getLog(String name) {return LogAdapter.createLog(name);} org.apache.commons.logging.LogAdapter#createLog private static final String LOG4J_SPI org.apache.logging.log4j.spi.ExtendedLogger;private static final String LOG4J_SLF4J_PROVIDER org.apache.logging.slf4j.SLF4JProvider;private static final String SLF4J_SPI org.slf4j.spi.LocationAwareLogger;private static final String SLF4J_API org.slf4j.Logger;private static final LogApi logApi;static { //LOG4J_SPI org.apache.logging.log4j.spi.ExtendedLogger在Log4j2包log4j-api中 //LOG4J_SLF4J_PROVIDER // org.apache.logging.slf4j.SLF4JProvider在Log4j2桥接器包log4j-to-slf4j中 //SLF4J_SPI org.slf4j.spi.LocationAwareLogger 在slf4j包 slf4j-api 中 //SLF4J_API org.slf4j.Logger 在slf4j包 slf4j-api 中//判断是否导入了 log4j2包 log4j-apiif (isPresent(LOG4J_SPI)) {if (//判断是否导入了 Log4j2 桥接器包log4j-to-slf4jisPresent(LOG4J_SLF4J_PROVIDER) //判断是否导入了 slf4j包 slf4j-apiisPresent(SLF4J_SPI)) {// log4j-to-slf4j bridge - well rather go with the SLF4J SPI;// however, we still prefer Log4j over the plain SLF4J API since// the latter does not have location awareness support.logApi LogApi.SLF4J_LAL;}else {// Use Log4j 2.x directly, including location awareness supportlogApi LogApi.LOG4J;}}else if (isPresent(SLF4J_SPI)) {// Full SLF4J SPI including location awareness supportlogApi LogApi.SLF4J_LAL;}else if (isPresent(SLF4J_API)) {// Minimal SLF4J API without location awareness supportlogApi LogApi.SLF4J;}else {// java.util.logging as defaultlogApi LogApi.JUL;}}// LOG4J 采用 log4j2的 日志实现// SLF4J_LAL 采用 slf4j Slf4jLocationAwareLog Full SLF4J SPI //including location awareness support// SLF4J 采用 slf4j Slf4jLog Minimal SLF4J API without //location awareness supportprivate enum LogApi {LOG4J, SLF4J_LAL, SLF4J, JUL}public static Log createLog(String name) {switch (logApi) {case LOG4J:return Log4jAdapter.createLog(name);case SLF4J_LAL:return Slf4jAdapter.createLocationAwareLog(name);case SLF4J:return Slf4jAdapter.createLog(name);default:// Defensively use lazy-initializing adapter class here as well since the// java.logging module is not present by default on JDK 9. We are requiring// its presence if neither Log4j nor SLF4J is available; however, in the// case of Log4j or SLF4J, we are trying to prevent early initialization// of the JavaUtilLog adapter - e.g. by a JVM in debug mode - when eagerly// trying to parse the bytecode for all the cases of this switch clause.return JavaUtilAdapter.createLog(name);} }
http://www.hkea.cn/news/14569750/

相关文章:

  • 做电商网站前端用什么框架知识营销
  • 自贡企业网站网页设计用什么尺寸的画布
  • 网站如何悬挂备案号南通网站开发
  • 温州网站制作公司企业微信app下载安装二维码
  • 自建网站和租用空间网站摄影网站建设内容
  • 网站综合营销方案设计网页代理地址
  • 安徽智能网站建设制作wordpress建站赚钱
  • 网站开发提供源代码可以在哪些网站做翻译兼职
  • 网站建设分享网站建设 引导
  • 网站建设工期安排表wordpress如何加入备案许可证编号
  • 官方网站建设最重要的是网站做的比较好的
  • 长春网站设计公司什么后台做网站安全
  • 上海建网站服务器企业所得税政策最新2023税率
  • python做网站吗求人做网站的网站
  • 广告公司会建设网站吗岳池做网站电话
  • 淘宝网站c 设计怎么做的学做网站要学什么语言
  • 贵阳建设工程信息网站高端定制建站公司
  • 手机做兼职的网站有哪些wordpress插件位置
  • 蓝翔老师做的网站山东网站建设电话
  • 深圳外贸网站定制做商务网站服务
  • 精湛的中山网站建设北京手机软件开发
  • jsp电子商务网站建设实验做自己的网站的作用
  • 网站建设高端定制社区教育网站开发
  • 少女免费观看片tvsemseo名词解释
  • 汽车网站策划书企业画册vi设计
  • 信阳工程建设一体化平台网站有什么wordpress
  • 网站建设相关知识博客wordpress主题界面
  • 网站cms企业公司做网站是com好还是cn好
  • 寄生虫网站排名代做专业网站建站企业
  • 网站建设数据库配置做网站收多少钱