spring+mybatis日志

spring4默认日志是log4j, spring5默认日志是JUL
spring4下使用JCL时,如果有log4j的jar,用的具体实现类是log4j,否则用的具体实现类是JUL
spring4下使用JCL时,用的具体实现类是JUL

1、spring4下日志加载顺序


	 //循环
	for(int i=0; i<classesToDiscover.length && result == null; ++i) {
            result = createLogFromClass(classesToDiscover[i], logCategory, true);
    }
	//默认加载顺序
    private static final String[] classesToDiscover = {
   		    //"org.apache.commons.logging.impl.Log4JLogger"
            LOGGING_IMPL_LOG4J_LOGGER,
            "org.apache.commons.logging.impl.Jdk14Logger",
            "org.apache.commons.logging.impl.Jdk13LumberjackLogger",
            "org.apache.commons.logging.impl.SimpleLog"
    };

2、spring5下日志加载顺序

	public static Log getLog(String name) {
		switch (logApi) {
			case LOG4J:
				return Log4jDelegate.createLog(name);
			case SLF4J_LAL:
				return Slf4jDelegate.createLocationAwareLog(name);
			case SLF4J:
				return Slf4jDelegate.createLog(name);
			default:
				return JavaUtilDelegate.createLog(name);
		}
	}

mybatis+log4j 日志是log4j

mybatis+log4j+sping4 日志是log4j

mybatis+log4j+sping5 日志是jcl----jul

3、mybatis下日志加载顺序

  static {
    //slf4j
    tryImplementation(LogFactory::useSlf4jLogging);
    //jcl
    tryImplementation(LogFactory::useCommonsLogging);
    //log4j2
    tryImplementation(LogFactory::useLog4J2Logging);
    //log4j
    tryImplementation(LogFactory::useLog4JLogging);
    //jul
    tryImplementation(LogFactory::useJdkLogging);
    tryImplementation(LogFactory::useNoLogging);
  }

热门文章

暂无图片
编程学习 ·

DAY3-JDBC+Tomcat实现简易登陆系统

目录笔记bean包下User类dao包下UserDao类service包下UserServiceImpl类和UserService接口servlet包下HelloServlet类和LoginServlet类util包下DBUtil类xml文件 笔记 jdbc: 1.加载驱动 2.创建连接 3.写sq| 4.得到statement对象 5.执行sq|得到结果集 6.处理结果集 7.关闭资源 分…
暂无图片
编程学习 ·

Taro 3 正式版发布:开放式跨端跨框架解决方案

作者:凹凸曼 - yuche 从 Taro 第一个版本发布到现在,Taro 已经接受了来自于开源社区两年多的考验。今天我们很高兴地在党的生日发布 Taro 3(Taro Next)正式版,希望 Taro 未来的更多两年能像一名共产主义战士一样经受住更多的考验。以下是 Taro 3 的一些新增特性: 跨框架:…
暂无图片
编程学习 ·

Leetcode 题解 - 字符串

字符串循环移位包含 编程之美 3.1 s1 = AABCD, s2 = CDAA Return : true给定两个字符串 s1 和 s2,要求判定 s2 是否能够被 s1 做循环移位得到的字符串包含。 s1 进行循环移位的结果是 s1s1 的子字符串,因此只要判断 s2 是否是 s1s1 的子字符串即可。 字符串循环移位 编程之美…
暂无图片
编程学习 ·

Centos7下redis6.0.5的详细安装步骤

Centos7下redis6.0.5的详细安装步骤: 0、官网浏览,安装wget 1、打开 https://redis.io/download,浏览最新的redis信息。 2、安装wget:执行命令:yum install wget -y 备注:-y的意思是yes 1、wget获得redis安装包 执行: wget http://download.redis.io/releases/redis-6.0…
暂无图片
编程学习 ·

redis集群springboot连接

谢谢参考:https://blog.csdn.net/CNZYYH/article/details/85696674一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。 定义:生产者消费者模式 :生产者生产消息放到队列里,多个消费者同时监听队列…
暂无图片
编程学习 ·

setuptools制作whl包实战讲解(一)

什么是 whl .whl格式的文件本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。我们可以使用我们非常熟悉的pip install 来安装whl包。 如: pip install mask_detect_v1.0.whl如何制作whl包…
暂无图片
编程学习 ·

1084:幂的末尾 题解 信息学奥赛 NOIP

关于内容来源于微信公众号:大神编程。已经过原文作者授权。题目:1084:幂的末尾超详细动画图文题解链接题解目录(不断更新中)喜欢信息学奥赛的同学们,可以一起交流学习哦官方QQ群:893157498我的QQ群:795233394
暂无图片
编程学习 ·

JDK的安装与配置

搭建java开发环境 java语言执行需要经过编译原代码,之后才可以在JVM上解释字节码车光绪,这些需要JDK的支持才能完成 开发者可以直接通过Oracle官方网站获取JDK工具。选择与自己操作系统对应版本,初学者版本不必过新。 下载完之后获得一个程序安装包,双击运行即可。 例如将J…
暂无图片
编程学习 ·

jdbcTemplate.queryForObject 没查到抛异常

当结果集合的size为0或者大于1时,就会抛出异常。 解决方法有两个: (1)通过修改数据库:删除数据库中对应名称(column)相同的记录,留下只剩"1"条。 (2)通过更换方法:使用query方法返回list对象(该方法能返回所有查询记录)
暂无图片
编程学习 ·

D_SparkSQL

C_SparkSQL 一. 概述 1. 什么是SparkSQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame DataSet并且作为分布式SQL查询引擎的作用。 众所周知的Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduc的程序的复杂…
暂无图片
编程学习 ·

spring-data-rest快速实现增删改查

spring-data-rest实现增删改查 - 项目相关依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/> </parent>…
暂无图片
编程学习 ·

Metasploit使用msfcli命令行接口编写shell脚本程序

问题描述使用msfcli命令行接口编写一个Shell脚本程序,实现用户只需输入目标Linux靶机IP地址作为参数,就可以使用usermap_script漏洞渗透攻击模块,获得靶机的远程Shell访问。 解决办法由于2005年时便取消了msfcli,因此使用msfconsole -x来代替msfcli。先提供脚本内容如下: …
暂无图片
编程学习 ·

【源码阅读技巧一】查看类关系图,接口实现关系图(idea版本)Diagrams关系图

我们在阅读源码的时候,往往需要理清楚各个类,各个接口之间的关系,然后再去理解他的设计思路,有个大概理解,然后去阅读源码,就容易很多,那么今天就来讲一下如何使用idea来查看关系图: 一、查看类的父类,以及实现的接口 1、打开想要查看的类,通过idea的定位找到类所在位…
暂无图片
编程学习 ·

python_ask_02-Are object and instance the same?

ID = python_ask_02 文章目录QuestionAnswerReference Question Are object and instance the same? Answer Are they the same? My answer is NO. We say everything is object, but we never say everything is instance. Class and instance are both object.「对象」是一…
暂无图片
编程学习 ·

【springboot高级】(二:自定义系统监听器,实现ApplicationListener接口。(使用篇))

springboot在系统启动的时候,提供了很多的监听,有时候我们需要根据一些业务,在启动的时候监听springboot启动的某个节点,然后做相应的事情,那么这节就来讲一下如何实现自定义监听器,在springboot发送事件的时候,我们能够监听到。 (注意:自定义监听器和自定义初始化器原…
暂无图片
编程学习 ·

SpringBooot框架整合MyBatis框架

SpringBooot框架整合MyBatis框架 1.MyBatis框架概述 Mybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互。并在JDBC操作的基础上做了封装和优化,它借助灵活的SQL定制,参数及结果集的映射方式,更好的适应了当前互联网技术的发展 2.初始配置 2.1.在pom.xml文件中…