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).
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理