log4j2与log4j的区别与使用指导

一、log4j2配合slf4j使用:


log4j2所需5个jar包:

1.log4j-api-2.3.jar
2.log4j-core-2.3.jar
3.log4j-slf4j-impl-2.2.jar
4.log4j-web-2.2.jar
5.slf4j-api-1.7.21.jar

log4j2依赖:
log4j-api-2.8.2.jar
log4j-core-2.8.2.jar
log4j2和slf4j桥接依赖:
log4j-slf4j-impl-2.8.2.jar
slf4j依赖:
slf4j-api-1.7.25.jar

日志配置文件:log4j2.xml

参考:
https://www.cnblogs.com/littleapple/p/10880318.html

二、slf4j+log4j组合使用模式:
1. slf4j-api-1.5.11.jar
slf4j 和log4j 连接的桥梁 slf4j-log4j12:
2. slf4j-log4j12-1.5.11.jar
3. log4j-1.2.15.jar

配置文件:log4j.properties(也可以是 log4j.xml)

 

参考:
https://www.cnblogs.com/lujiango/p/8573411.html

 

在eclipse里debug时查看 到底使用的哪个日志记录器文件,可以在eclipse里做如下配置:
在debug as 的 debug configuration配置页面的 参数配置选项添加 -Dlog4j.debug 。


会打印出如下日志:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/xxx/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/xxx/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 代表使用了slf4j-log4j12-1.7.25.jar 包,因为这个包里有org.slf4j.impl.Log4jLoggerFactory这个类,它是 log4j和slf4j的转换连接类,因此它会调用log4j.properties.不会调用 log4j2.xml。
log4j:WARN No appenders could be found for logger (org.springframework.data.repository.config.RepositoryConfigurationDelegate).

posted on   luckyna  阅读(2935)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示