栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java日志体系

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java日志体系

 

如果是新代码建议是slf4j 因为可以通过适配器灵活适配各种日志实现 

 

如果同时项目中老代码使用了log4j, 可以通过桥接器,适配到slf4j,然后就跟新代码使用得日志框架一致了,但是注意log4j和slf4j不要互相适配和桥接,可能出现死循环导致栈溢出

1.log4j ,  2.jcl,  3jul

spring默认使用jcl 然后jcl使用jul, spring默认不适用jul, 是因为jul classloader原因无法适配log4j2,所以使用得jcl,tomcat使用得jul

如果sping想用log4j,因为无法修改spring底层实现 则需要通过 spring --> jcl-->  jcl-over-slf4j --> slf4j--> log4j适配器(slf4j-log4j12)->log4j



      log4j
      log4j
      1.2.17




      org.slf4j
      slf4j-log4j12
      1.7.32



 

      org.apache.logging.log4j
      log4j-api
      2.14.1
 
 
       org.apache.logging.log4j
       log4j-core
       2.14.1
 

 
 
       org.apache.logging.log4j
       log4j-slf4j-impl
       2.14.1
 

springboot默认使用logback实现, 有个spring-boot-starter-logging专门打印日志,

默认通过slf4j -->logback-classic适配器 -->logback-core打印日志

tomcat -->jul -->jul-to-slf4j桥接器 -->slf4j重复第一步

log4j -->log4j-to-slf4j桥接器 --》slf4j重复第一步(可能老代码直接使用得log4j)

 

 

也可以排除spring-boot-starter-loggin(log4j1)导入 spring-boot-starter-log4j2 直接使用log4j2

 

使用jcl按优先级jcl实现

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号