场景:一个项目中融合多个采用不同日志记录的框架。
不同的框架采用的默认日志框架不同,有些用的slf4j,有些用的log4j。
项目中我们需要统一控制日志的打印格式和打印级别。
方案:
将log4j和slf4j整合:
保留原本的log4j的jar包,删除slf4j-1.5.8.jar,
然后导入slf4j-api-1.5.8.jar和slf4j-log4j12-1.5.8.jar两个jar包,
这样就可以用log4j的配置来控制slf4j的打印了
其他日志框架同理,采用API,实现统一用log4j的即可
log4j.properties配置文件
#logger level default is INFO
##DEBUG < INFO < WARN < ERROR < FATAL
log4j.rootLogger=info,console,file
#append to console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#2013-08-28 11:22:18,829 INFO|class(lineNum) | event
log4j.appender.console.layout.ConversionPattern= %d %p|%C(%L) | %m%n
#append to file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log/zimpay.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=10000
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %p|%C(%L) | %m%n
#ibatis/mybatis logger config
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
相关推荐
在使用SLF4J配合Log4j2时,需要关注不同框架在日志记录时的性能差异,并根据具体情况选择最合适的日志框架。 ### 总结 在Java应用中,使用SLF4J作为日志门面和Log4j2作为具体实现是目前非常流行的选择。这种组合...
SLF4J(Simple Logging Facade for Java)是一个日志门面,它为各种日志框架提供一个统一的接口,如Logback、Log4j、Java Util Logging等。它的主要目标是使日志库与应用程序解耦,让开发者能够在不修改代码的情况...
在给定的标题和描述中,我们看到了两个关键的日志框架——`log4j`和`SLF4J(Simple Logging Facade for Java)`,以及它们之间的桥接器`slf4j-log4j12`。这些组件是Java日志处理的常用工具,让我们详细了解一下它们...
Logback则是由Log4j的创始人Ceki Gülcü开发的一个更现代、更高效的日志框架,它被设计为Log4j的替代品。Logback的目标是在性能和灵活性上超越Log4j,同时保持了类似的API。Logback分为两个主要组件:ch.qos....
总的来说,SLF4J-log4j12-1.7.7.jar在Java日志处理中扮演着关键角色,它提供了方便的日志框架切换能力和与Log4j1.2的集成,使得开发者可以灵活地管理和控制应用程序的日志输出。然而,随着技术的发展,考虑升级到更...
SLF4J通过提供一个统一的API,使得更换日志框架变得非常简单。 然后,Log4j2是Apache Log4j项目的最新版本,它提供了一套高效、灵活的日志记录解决方案。Log4j2相比Log4j 1.x有许多改进,包括性能提升、更丰富的...
Log4j提供了丰富的日志级别(DEBUG、INFO、WARN、ERROR、FATAL),并且支持自定义日志格式和输出目的地,如控制台、文件、数据库等。通过配置文件,可以方便地调整日志策略,满足不同环境的需求。 4. JUnit: ...
SLF4J的主要目标是为各种日志API提供一个简单的统一接口,使得最终用户可以在部署的时候插入所需的日志框架。它并不提供实际的日志实现,而是作为一个适配器,让开发者能够方便地切换不同的日志实现,如Logback、Log...
通过SLF4J的API,我们可以方便地在不同日志框架之间切换,而无需修改代码。同时,Log4j的强大功能满足了各种复杂的日志需求,如性能监控、错误追踪等。在实际项目中,正确配置这三个库并适当地使用日志,对于问题...
SLF4J的设计使得开发者可以在不修改代码的情况下更换日志框架,只需更改依赖的jar包和相应的配置即可。这种灵活性对于大型项目或者多团队协作的项目来说尤为重要,因为它可以避免因为日志实现的变更而导致的大量代码...
SLF4J(Simple Logging Facade for Java)是一个日志门面,它为各种日志框架提供了统一的接口,如Log4j、Logback等。它的主要目的是让开发者能够在部署时自由选择所需的日志实现,而无需修改代码。SLF4J通过引入`...
SLF4J 提供了一种统一的API,无论底层的日志框架是Log4j、Java Util Logging (JUL)、Logback还是其他,都可以通过SLF4J进行调用。 Log4j 1.5.8是Apache的一个经典日志工具,它提供了灵活且强大的日志记录功能。SLF4...
1. **依赖冲突**:确保你的项目中没有引入了其他日志框架的jar包,如logback或log4j1.x,这可能导致SLF4J找不到正确的绑定实现。 2. **配置文件缺失或错误**:`log4j2.xml`是Log4j2的主要配置文件,定义了日志的...
描述中提到的是`slf4j-log4j`,这通常是指SLF4J的Log4j绑定包,它提供了SLF4J到Log4j的桥接,使得SLF4J调用能够被Log4j接收并处理。在项目中,你需要将这两个jar包加入到类路径中,同时配置Log4j的配置文件,以指定...
SLF4J是一个抽象层,为各种日志框架提供了统一的API,如Logback、Log4j等。它的主要优点在于可以让你在不修改代码的情况下更换底层的日志框架,只需改变类路径上的绑定即可。SLF4J提供了丰富的日志级别,如DEBUG、...
SLF4J(Simple Logging Facade for Java)是Java的日志抽象层,它提供了一种标准的接口,允许用户在不修改代码的情况下更换不同的日志框架,如Log4j、Logback等。Log4j2是Log4j的升级版,提供了更优秀的性能和更多的...
SLF4J (Simple Logging Facade for Java) 是一个用于各种日志框架的简单抽象,例如java.util.logging、Logback 和 Log4j。它的主要目的是为应用程序提供一个可插入的日志接口,允许最终用户在部署时插入所需的日志库...