maven项目引入log4j,log4j启动报错

今天想把自己写的小练习项目引入log4j但是遇到遇到了点挫折,总结网上并记录一下我自己的解决方法。

在pom文件中导入log4j后,首先我发现我的maven项目创建时没有自动生成src\main\java和src\main\resources包。
在这里插入图片描述
我们需要的是这样的目录结构:
在这里插入图片描述

因为我们都知道log4j的配置文件需要放置在src\main\resources目录下,所以我自己创建了java包和recources包
在这里插入图片描述

如果想在创建项目是自动生成java和recources包请看这里
https://blog.csdn.net/lk142500/article/details/88782116/
https://blog.csdn.net/lk142500/article/details/88782116/
我自己没有尝试,如果想改可以去网上搜一下


之后创建log4j.properties并写如下log4j配置:

log4j.rootLogger=DEBUG, E, CA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] %m%n

运行代码控制台报错:
log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
在这里插入图片描述
我这个错误解决方法是去pom文件中查看packging标签 我的标签是pom 改为jar或者删除后重新import就不报这个错误了:
在这里插入图片描述

以下配置<packaging>pom</packaging>的意思是使用maven分模块管理,都会有一个父级项目,pom文件一个重要的属性就是packaging(打包类型),一般来说所有的父级项目的packaging都为pom,packaging默认类型jar类型,如果不做配置,maven会将该项目打成jar包。


修改后运行项目输出日志可以打印log4j的日志了 但是还会报错:
log4j:ERROR Could not find value for key log4j.appender.E
log4j:ERROR Could not instantiate appender named “E”.
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210225144038522.png
错误里说没有找到value E的key
去配置文件中查看第一行 ( log4j.rootLogger=DEBUG, E, CA ) 中的E去掉就可以正常使用了

log4j.rootLogger的作用我去网上找到了如下这篇帖子
https://www.cnblogs.com/Fskjb/archive/2011/01/29/1947592.html
在这里插入图片描述

本文参考:
https://www.cnblogs.com/Fskjb/archive/2011/01/29/1947592.html
https://blog.csdn.net/a1054512800/article/details/92084605
https://blog.csdn.net/weixin_33602978/article/details/105008006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值