hibernate3 配置log4j

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下: 所用的jar包下载地址  http://download.csdn.net/detail/u013378306

hibernate3 自带的默认的日志框架是slf4j,hibernate3的slf只是一个日志的接口,而hibernate3 自带默认的日志框架,在实际开发中很少有公司或者是项目中用到,这里记录一种使用log4j的日志框架来代替slf4j日志框架的实现,具体配置以及实现如下:

所用的jar包下载地址  http://download.csdn.net/detail/u013378306/9160861

一.加入log4j的日志框架


说明:1.    slf4j-api-1.6.1.jar文件,就是前面指的hibernate3自带日志的API(提供了各种日志的接口).

2.    log4j-1.2.16.jar文件,就是log4j的框架.

3.    slf4j-log4j12-1.6.1.jar文件,就是hibernate3自带的日志接口与log4j中间进行转换的适配器。

 

log4j.properties 参考配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
### direct log messages to stdout ###  
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.Target=System.out  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  
    
### direct messages to file hibernate.log ###  
#log4j.appender.file=org.apache.log4j.FileAppender  
#log4j.appender.file.File=hibernate.log  
#log4j.appender.file.layout=org.apache.log4j.PatternLayout  
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  
    
### set log levels - for more verbose logging change 'info' to 'debug' ###  
    
log4j.rootLogger=warn, stdout  
    
#log4j.logger.org.hibernate=info  
#log4j.logger.org.hibernate=debug  
    
### log HQL query parser activity  
#log4j.logger.org.hibernate.hql.ast.AST=debug  
    
### log just the SQL  
#log4j.logger.org.hibernate.SQL=debug  
    
### log JDBC bind parameters ###  
#log4j.logger.org.hibernate.type=info  
#log4j.logger.org.hibernate.type=debug  
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE  
    
### log schema export/update ###  
log4j.logger.org.hibernate.tool.hbm2ddl=debug  
##上面这句最重要,不然无法输出hibernate隐藏信息    
### log HQL parse trees  
#log4j.logger.org.hibernate.hql=debug  
    
### log cache activity ###  
#log4j.logger.org.hibernate.cache=debug  
    
### log transaction activity  
#log4j.logger.org.hibernate.transaction=debug  
    
### log JDBC resource acquisition  
#log4j.logger.org.hibernate.jdbc=debug  
    
### enable the following line if you want to track down connection ###  
### leakages when using DriverManagerConnectionProvider ###  
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace



说明******************************************************8

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
log4j.logger.org.hibernate=debug 
log4j.logger.org.hibernate.hql.ast.AST=debug 
log4j.logger.org.hibernate.SQL=debug 
log4j.logger.org.hibernate.type=info 
log4j.logger.org.hibernate.type=debug 
log4j.logger.org.hibernate.tool.hbm2ddl=debug 
log4j.logger.org.hibernate.hql=debug 
log4j.logger.org.hibernate.cache=debug 
log4j.logger.org.hibernate.transaction=debug 
log4j.logger.org.hibernate.jdbc=debug 
log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
将  log4j.logger.org.hibernate=debug  更改成 log4j.logger.org.hibernate=error 时,只输出SQL和错误信息。
 
 Hibernate日志类别 
类别      功能  
org.hibernate.SQL   在所有SQL DML语句被执行时为它们记录日志  
org.hibernate.type   为所有JDBC参数记录日志  
org.hibernate.tool.hbm2ddl  在所有SQL DDL语句执行时为它们记录日志  
org.hibernate.pretty   在session清洗(flush)时,为所有与其关联的实体(最多20个)的状态记录日志  
org.hibernate.cache   为所有二级缓存的活动记录日志  
org.hibernate.transaction  为事务相关的活动记录日志  
org.hibernate.jdbc   为所有JDBC资源的获取记录日志  
org.hibernate.hql.AST   在解析查询的时候,记录HQL和SQL的AST分析日志  
org.hibernate.secure   为JAAS认证请求做日志  
org.hibernate    为任何Hibernate相关信息做日志 (信息量较大, 但对查错非常有帮助)  

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
1月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
195 0
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
490 5
|
安全 BI 网络安全
EventLog Analyzer 如何满足等保合规要求?密码有效期、产品日志保留、配置备份三大核心问题全面解答
EventLog Analyzer(ELA)助力企业满足网络安全等级保护要求,支持配置自动/手动备份、日志180天留存及密码策略管理,提升合规性与安全运营效率。
|
8月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
761 0
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
3412 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
4月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。
|
5月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
596 4
|
7月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
219 22
|
8月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
8月前
|
数据库连接 测试技术 Windows
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题