您好,欢迎来到网暖!

当前位置:网暖 » 站长资讯 » 建站基础 » 网络技术 » 文章详细 订阅RssFeed

【踩坑】springboot2.x集成log4j2(yml)

来源:网络整理 浏览:329次 时间:2022-11-22

踩了点小坑,springboot2.x默认是使用的是logback作为日志框架,想用log4j2的话,需要排除logback依赖,引入log4j2的依赖。mvn看下logback是哪里依赖的,我这里是spring-boot-starter-web,排除掉这个默认的spring-boot-starter-logging,然后引入spring-boot-starter-log4j2,安安静静配置log4j2的yml文件。在代码里加入日志,看下效果。

启动application的时候,看到了一行红色错误提示:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.

我踏马隐约看到一个属性key,log4j2.debug,提示给这个键设值就可以看到log4j2内部初始化日志了,这还是个system property。

直觉告诉我,log4j2初始化出错了。我就想着赶紧给这个log4j2.debug设个值,然后看下有关log4j2自己的日志。一个简单粗暴的方法飞快闪过电脑屏幕,

System.setProperty("log4j2.debug", "true");

重新启动,事实证明,哥的直觉是准确的,我看到了一些不该看到的东西:

TRACE StatusLogger Trying to find [log4j2.yml] using context class loader sun.misc.Launcher$AppClassLoader@73d16e93.

WARN StatusLogger Found configuration file log4j2.yml for inactive ConfigurationFactory org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory。

log4j2.yml     inactive     YamlConfigurationFactory,三个关键字,貌似yml格式的配置文件没有被激活。打开源文件看下什么情况,请允许我贴一张图,不想解释了:

少了点东西,jacksonformat,引入如下依赖:

<dependency>
     <groupId>com.fasterxml.jackson.dataformat</groupId>
     <artifactId>jackson-dataformat-yaml</artifactId>
</dependency>

再次启动,日志打印正常了,心中满满都是感谢,感谢log4j2错误提示如此到位,可以让我定位问题,并找到解决之道


推荐站点

  • 腾讯腾讯

    腾讯网(www.QQ.com)是中国浏览量最大的中文门户网站,是腾讯公司推出的集新闻信息、互动社区、娱乐产品和基础服务为一体的大型综合门户网站。腾讯网服务于全球华人用户,致力成为最具传播力和互动性,权威、主流、时尚的互联网媒体平台。通过强大的实时新闻和全面深入的信息资讯服务,为中国数以亿计的互联网用户提供富有创意的网上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐网是全球最大的中文门户网站,为用户提供24小时不间断的最新资讯,及搜索、邮件等网络服务。内容包括全球热点事件、突发新闻、时事评论、热播影视剧、体育赛事、行业动态、生活服务信息,以及论坛、博客、微博、我的搜狐等互动空间。

    www.sohu.com
  • 网易网易

    网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

    www.163.com
  • 新浪新浪

    新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com