不思进取太久了,想捣鼓点新东西,刚好在log4j这一块有解决不了的问题,想换log4j2试试;以前也没有写过yaml,就想着顺便试试新的配置。

笔者使用maven构建Demo, 按官网Configuration with YAML的说明加入依赖

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

兴致勃勃写了个最简单的main方法,打印info级别的日志,跑起来却一直报:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

找不到log4j2的配置文件,笔者检查了几遍,配置文件明明已经编译成功,怎么会找不到呢?
网上找了很多相关的文章,都没发现有出现过类似的问题。。。

不能卡在这是吧,太想试试log4j2了, Debug源代码吧,这一Debug,我勒个去啊,jackson-dataformat-yaml这个依赖包还有些依赖没被引入,com.fasterxml.jackson.databind.ObjectMapper 在源文件里就就是红的...

导致YamlConfigurationFactory中的构造方法无法正常加载com.fasterxml.jackson.databind.ObjectMapper的Class...

private static final String[] dependencies = new String[] {"com.fasterxml.jackson.databind.ObjectMapper","com.fasterxml.jackson.databind.JsonNode","com.fasterxml.jackson.core.JsonParser","com.fasterxml.jackson.dataformat.yaml.YAMLFactory"
};private final boolean isActive;public YamlConfigurationFactory() {for (final String dependency : dependencies) {if (!Loader.isClassAvailable(dependency)) {LOGGER.debug("Missing dependencies for Yaml support");isActive = false;return;}}isActive = true;
}

isActive的结果为false, YamlConfigurationFactory的getConfiguration()获取配置永远为null

@Override
public Configuration getConfiguration(final LoggerContext loggerContext, final ConfigurationSource source) {if (!isActive) {return null;}return new YamlConfiguration(loggerContext, source);
}

解决方法:

加入jackson-databind依赖包

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.8.6</version>
</dependency>

初探Log4j2-yaml配置坑相关推荐

  1. log4j配置_是时候了解一下log4j2各种配置的含义了!

    来源:http://i7q.cn/54K3Uw 1.日志框架 日志接口(slf4j) slf4j是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具 ...

  2. SpringBoot—整合log4j2入门和log4j2.xml配置详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...

  3. SpringBoot配置文件YAML配置注入(详解)

    目录 一.SpringBoot配置文件 1. SpringBoot默认配置文件 2. 配置文件的作用 3. 配置文件的位置 4. 多环境切换 方式一:多配置文件 方式二:一个配置文件(yaml的多文档 ...

  4. Springboot使用Log4j2的配置详解

    Springboot使用Log4j2的配置 日志框架的对比和选择 一.依赖配置(pom文件) 二.log4j2.xml文件的配置 三.Log4j2.xml配置文件核心概念解析 1.全局Property ...

  5. Spring Boot YAML配置

    在本快速教程中,我们将学习如何使用YAML文件来配置Spring Boot应用程序的属性. 什么是YAML文件? 除了可以在Spring中没有应用程序.properties之外 ,我们还可以使用app ...

  6. SSM框架笔记08:初探Spring——采用配置类与注解方式

      初探Spring--采用配置类与注解方式   在上一讲的项目基础上继续.   不仅采用注解方式,而且用配置类替换Spring配置文件.   1.将xml_annotation包里的两个接口和四个类 ...

  7. SpringBoot中yaml配置

    yaml是一种可读性高,用来表示数据序列化的格式.在SpringBoot中也可以使用properties,但是推荐使用yaml. 在SpringBoot中使用一种全局的配置文件,其名称是固定的为app ...

  8. golang解析嵌套yaml配置(局部解析)

    golang中解析yaml配置文件 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Ra ...

  9. Python 日志logging模块初探及多线程踩坑(2)

    系列文章: Python 日志logging模块初探及多线程踩坑(1) Python 日志logging模块初探及多线程踩坑(2) 接着上面一篇文章,我们这篇来写一个多进程兼容且无损性能的 Timed ...

  10. SpringBoot整合Log4j2以及配置详解

    文章目录 标题SpringBoot整合Log4j2以及配置详解 1.加入依赖 2.在src.java.main.resources目录下创建log4j2.xml文件 log4j2.xml文件内容如下: ...

最新文章

  1. overflow与min-width
  2. Java中的DeskTop类
  3. 正则表达式笔试题php,2017年初级PHP程序员笔试题
  4. nacos如何做配置中心?自带自动刷新配置功能?这一篇文章让你明明白白!
  5. 【Python CheckiO 题解】Sort Array by Element Frequency
  6. 自定义UITabBar
  7. cvc 降噪_哪款蓝牙耳机降噪效果最好,降噪音质俱佳的蓝牙耳机推荐
  8. Java不适合于作为主要编程教学语言 -- 孟岩
  9. NB-ioT的工作状态和工作模式
  10. bt种子增加服务器,bt发布-BT种子怎么发布?服务器地址、发布者网址应怎么填写? 爱问知识人...
  11. 浏览器预览pdf文件名称不对,Java使用iText修改Pdf文件的标题属性,自定义预览文件名
  12. 赶上了秋招的末班车,抓住了秋招的尾巴,成功上岸了
  13. linux 设备树 usb控制器,linux 设备树中 dwc3 节点的phys参数含义
  14. matlab中numden函数,numden函数 MATLAB里面numden函数有什么用?
  15. 机器视觉系统——照明
  16. 天津少儿编程培训班费用多少呢?值不值?
  17. UI设计中最重要的元素和原则是什么
  18. 欢迎高校使用云创大数据的高质量大数据和人工智能免费直播授课!
  19. Linux用户权限ACL权限
  20. LuoguP1710 地铁涨价

热门文章

  1. 泛微E-cology OA /weaver/ 代码执行漏洞
  2. greasemonkey入门
  3. 入门C语言第三话:数组之实战篇——扫雷(进阶版——图形化界面,递归展开,播放音乐与音效,标记取消雷,记录雷的个数,鼠标点击,文末附有完整代码)
  4. Unity 3D中的射线与碰撞检测
  5. linux怎么使用4g模块的网络,在ARM-linux上实现4G模块PPP拨号上网(示例代码)
  6. WebSocket:响应头‘Sec-WebSocket-Accept‘的生成
  7. 在ensp安装过程中遇到的错误(40 41错误,usg6000v导入时配置文件格式错误)
  8. Android-x86
  9. 解决eso搜索优化问题 Vue 有对应的 Nuxt.js。
  10. Gate联合NFTBomb七大活动,NBP“holder”的福音