Logback比Log4j 的优点网上介绍的很多,这里就不再赘述了。
其实配置很简单,只需要所有标有 Log4j%%.jar 的包从 classPath 中剔除,再 导入 logback-classic.jar 与 logback-core.jar 即可,当然还需要 slf4j.jar ,但Hibernate 天生依赖slf所以不用重复导入了。
在 src 路径下 建立 logback.xml (类似 log4j.properties的配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<!-- Reference Manual http://logback.qos.ch/manual/index.html -->
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8"> <!-- encoder 可以指定字符集,对于中文输出有意义 -->
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger -- %msg -- %n</pattern>
</encoder>
</appender>
<appender name="RollingFile"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>TRACE</level>
</filter>
<!-- 可让每天产生一个日志文件,最多 10 个,自动回滚 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>E:/Log/Unmi-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
<!-- 下面这段注释的代码可以在日志文件超过 5MB 时进行归档,并且归档文件后缀只要是 .zip 或 .gz 就会自动压缩日志归档 -->
<!--
file>d:/log/Unmi.log</file> <rollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>d:/log/Unmi.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize> </triggeringPolicy
-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger -- %msg -- %n</pattern>
</encoder>
</appender>
<!-- 输出到控制台和文件,可定义更多的 Appender -->
<root level="DEBUG">
<appender-ref ref="stdout" />
<appender-ref ref="RollingFile" />
</root>
<!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->
<logger name="org.hibernate" level="WARN" />
<logger name="org.springframework" level="WARN" />
<logger name="com.opensymphony" level="WARN" />
<logger name="org.apache" level="WARN" />
<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder"
level="TRACE" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor"
level="DEBUG" />
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
</configuration>
转自 http://www.iwangyu.com/index.php/archives/396 此处的配置文件。
分享到:
相关推荐
本篇将探讨如何使用Log4j来替代Tomcat的默认日志输出,达到更灵活和可定制的日志管理。 首先,我们来分析一下Tomcat默认日志管理的一些不足之处。在Tomcat中,默认的日志是通过catalina.out文件记录的,它使用java....
Logback 是一款非常流行的 Java 日志框架,它由 Ceki Gülcü 开发并维护,作为 log4j 的一个优秀替代品出现。Logback 相对于 log4j 有着更好的性能表现,并且拥有更加灵活的配置方式。在实际开发过程中,logback 因...
SLF4J(Simple Logging Facade for Java)是一个日志抽象层,为不同的日志实现(如log4j、logback)提供一个通用的接口。这样,开发者可以在不修改代码的情况下更换日志实现。 1. 引入依赖:在项目中引入SLF4J的API...
4. **SLF4J (Simple Logging Facade for Java)**: Hibernate使用SLF4J作为日志接口,可以与各种日志实现(如Log4j、Logback)集成。你需要`slf4j-api-x.x.x.jar`和具体的日志实现库,如`logback-classic-x.x.x.jar`...
9. **SLF4J (Simple Logging Facade for Java)**: Hibernate默认使用SLF4J作为日志接口,所以需要`slf4j-api.jar`,以及具体的日志实现库,如`logback-classic.jar`(Logback)或`log4j.jar`(Log4j)。 10. **...
7. **log4j.jar** 或 **logback-classic.jar**: 日志实现库,例如 log4j 或者 logback,用于记录Hibernate的运行信息。 8. **mysql-connector-java.jar**: MySQL 数据库驱动,如果你的项目连接的是MySQL数据库,这个...
`slf4j-api.jar` 和相应的实现库(如`logback-classic.jar`, `log4j.jar`)用于日志记录,Hibernate使用它来输出调试信息。 7. **JTA(Java Transaction API)**: 如果需要进行分布式事务管理,比如`jta.jar`,...
7. **SLF4J (Simple Logging Facade for Java)**:日志记录库,Hibernate使用它来记录调试和错误信息,你可以根据项目需求选择具体的日志实现,如Log4j或Logback。 8. **JPA API**:JPA规范的API,虽然Hibernate...
SLF4J 1.6版本是一个较早的稳定版本,提供了基本的日志记录功能和API,允许开发人员在运行时插入所需的特定日志实现,如Log4j、Logback等。 标签“slf4j annotations”可能是指SLF4J的API中使用的一些注解,尽管SLF...
3. 日志管理:使用Logback或Log4j2作为日志系统,配置多级别的日志输出。 4. 微服务架构:SpringBoot适合构建微服务,利用Spring Cloud组件实现服务发现、熔断、配置中心等功能。 五、扩展与进阶 1. Spring Boot ...
- `slf4j-api.jar`和具体实现(如`logback-classic.jar`或`log4j.jar`):Hibernate使用SLF4J作为日志框架的抽象层,允许你选择不同的日志实现。 8. **ASM**: - `asm.jar`或`asm-all.jar`:ASM库被Hibernate用来...
4. **Log4j**: log4j.jar是Java的日志工具,提供了灵活的日志配置,有助于调试和监控应用程序。它的替代品如logback也是常用的日志框架。 5. **Apache Commons**: Apache Commons包含了一系列实用的Java工具类库,...
- **使用SLF4J**: SLF4J是一个日志门面,可以在运行时桥接到各种具体的日志实现,如Logback或Log4J。 - **使用Log4J**: Log4J是一个广泛使用的日志框架,Spring支持直接使用Log4J进行日志记录。 #### II. Spring ...
4. **依赖库**:如slf4j-api、logback-classic(或log4j)、cglib、javassist等。 5. **数据库驱动**:根据实际使用的数据库选择相应的JDBC驱动,如mysql-connector-java、ojdbc等。 整合步骤大致如下: 1. 配置...
- **框架选择**:从之前的Log4j切换到SLF4J + Logback组合。 - **原因**:统一日志门面接口,提高日志记录的效率、稳定性和易用性。 - **具体变化**:删除了旧的日志配置文件`${project}src/log4j.properties`,并将...
3. **日志处理**:集成Logback或Log4j,统一日志管理,便于追踪问题。 4. **异常处理**:全局异常处理,捕获并统一返回错误信息,提高用户体验。 5. **数据库支持**:支持多种数据库,如MySQL、Oracle等,通过JPA或...
Logback 是Log4j的一个替代品,提供了更好的性能。 - **SLF4J**: 框架。Simple Logging Facade for Java (SLF4J) 是一个用于多种日志框架的简单抽象层。 #### 单元测试 - **JUnit**: 工具。JUnit 是一个Java编程...
14. **日志管理**:项目中可能使用Log4j或Logback等日志框架记录应用程序的运行情况,便于排查问题。 综上所述,"ssh工程项目(有用)3"涵盖了SSH协议的基础知识,SSH服务的配置与管理,以及基于SSH的Java Web开发...
8. **日志记录**:Logback或Log4j进行日志记录,便于问题排查。 这个项目是一个综合性的CRM系统实现,涵盖了从数据库交互到前端展示的整个流程,对于学习和理解CRM系统的架构设计、Spring全家桶的使用以及全注解...
11. **日志管理**:如Log4j或Logback用于记录系统运行时的日志,便于调试和问题排查。 12. **单元测试与集成测试**:JUnit和Mockito等工具用于编写单元测试,Spring Boot的Test Slice特性支持集成测试,确保系统的...