spring+hibernate下Log4j的配置

效果图:
spring+hibernate下Log4j的配置

1.导入log4j必要的包log4j-1.2.14.jar到lib下面
2.在web.xml中加入如下配置信息
<!-- log4j配置文件 位置-->
  <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>WEB-INF/log4j.properties</param-value>
  </context-param>
  <!--开一条watchdog线程每60秒扫描一下配置文件的变化 -->
  <context-param>
  <param-name>log4jRefreshInterval</param-name>
  <param-value>60000</param-value>
  </context-param>
<!-- 
log4j监听,放在org.springframework.web.context.ContextLoaderListener前面,否则启动tomcat时会提示一下错误
log4j:WARN No appenders could be found for logger(org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j systemproperly.
-->
  <listener>
  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>

3.log4j.properties配置
#打印方式为控制台打印
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.rootLogger=warn, stdout
#利用hibernate打印SQL语句如果要看到?输入的参数需要加入下面两行
log4j.appender.stdout.Threshold=trace 
log4j.category.org.hibernate.type=trace 

4.配置hibernate
因为是将hibernate交给srping配置,因此在applicationContext.xml中加入如下hibernate配置信息
<propertyname="hibernateProperties">
<props>
<propkey="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<!-- 显示SQL语句 -->
<propkey="hibernate.show_sql">
true
</prop>
<!-- 格式化打印SQL语句,看起来更美观一些-->
<propkey="hibernate.format_sql">true</prop>
</props>
</property>

除此之外,Hibernate还有很多参数,通过合理配置这些参数,可以对提高Hibernate框架下对象的效率,从而实现对J2ee应用的优化。
这些参数如下:
Java,IdeaGrace,web,开发,技术,交流,教程 -http://www.ideagrace.com 
参数用途
hibernate.dialect一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect
hibernate.show_sql输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个logcategory设为debug。 eg. true false
hibernate.format_sql在log和console中打印出更漂亮的SQL。 取值 true false
hibernate.default_schema在生成的SQL中,将给定的schema/tablespace附加于非全限定名的表名上. 取值 SCHEMA_NAME
hibernate.default_catalog在生成的SQL中,将给定的catalog附加于非全限定名的表名上. 取值 CATALOG_NAME
hibernate.session_factory_nameSessionFactory创建后,将自动使用这个名字绑定到JNDI中. 取值 jndi/composite/name
hibernate.max_fetch_depth为单向关联(一对一, 多对一)的外连接抓取(outer joinfetch)树设置最大深度. 值为0意味着将关闭默认的外连接抓取. 取值 建议在03之间取值
hibernate.default_batch_fetch_size为Hibernate关联的批量抓取设置默认数量. 取值 建议的取值为48, 和16
hibernate.default_entity_mode为由这个SessionFactory打开的所有Session指定默认的实体表现模式. 取值 dynamic-mapdom4jpojo
hibernate.order_updates强制Hibernate按照被更新数据的主键,为SQL更新排序。这么做将减少在高并发系统中事务的死锁。 取值 true false
hibernate.generate_statistics如果开启,Hibernate将收集有助于性能调节的统计数据. 取值 true false
hibernate.use_identifer_rollback如果开启,在对象被删除时生成的标识属性将被重设为默认值. 取值 true false
hibernate.use_sql_comments如果开启, Hibernate将在SQL中生成有助于调试的注释信息,默认值为false取值 true false
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值