论坛首页 Java企业应用论坛

怎样关闭Hibernate启动时的DEBUG信息?

浏览 7943 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-11-01  
我在项目中使用了Hibernate,其中在初始化hibernate.cfg.xml文件时会显示很多调试信息,由于我的数据库表比较多,使启动界面很不好看,我试过关闭log4j的输出(设置相应的LEVEL为OFF),但还是不行,请问有没有什么方法?

谢谢!
   发表时间:2003-11-01  
我会试一下 写道
我在项目中使用了Hibernate,其中在初始化hibernate.cfg.xml文件时会显示很多调试信息,由于我的数据库表比较多,使启动界面很不好看,我试过关闭log4j的输出(设置相应的LEVEL为OFF),但还是不行,请问有没有什么方法?

谢谢!


log4j.rootLogger=error
0 请登录后投票
   发表时间:2003-11-02  
我都设成OFF了还不行!
0 请登录后投票
   发表时间:2003-11-02  
说明你的类路径设置有问题,log4j没有读到配置文件。
0 请登录后投票
   发表时间:2003-11-02  
我的log4j.properties的文件内容如下:

log4j.rootLogger=OFF, CON

log4j.appender.CON=org.apache.log4j.ConsoleAppender
log4j.appender.CON.layout=org.apache.log4j.PatternLayout
log4j.appender.CON.layout.ConversionPattern=[%t] %-5p %c - %m%n


log4j.properties文件保存在的的发布包的根目录下,即我的发布包为test.jar,log4j配置文件就保存在此jar文件的根目录下,而且我也将此jar文件放到了classpath中了.
0 请登录后投票
   发表时间:2003-11-02  
那你的log4j.jar放到哪里去了?建议读一下我写的Class Loader的文章。
0 请登录后投票
   发表时间:2003-11-11  
对不起,最近比较忙所以没有回复.最近把项目中所有与数据库相关的操作都用Hibernate进行了改写,有时间回过头来解决这个问题了.

在启动时,我的console中显示如下的信息:
2003-11-11 17:04:13 net.sf.hibernate.cfg.Environment <clinit>
信息: Hibernate 2.1 beta 3
2003-11-11 17:04:13 net.sf.hibernate.cfg.Environment <clinit>
信息: hibernate.properties not found
2003-11-11 17:04:13 net.sf.hibernate.cfg.Environment <clinit>
信息: using CGLIB reflection optimizer
2003-11-11 17:04:13 net.sf.hibernate.cfg.Configuration addResource
信息: Mapping resource: com/regical/ecp/db/entity/Address.hbm.xml
2003-11-11 17:04:13 net.sf.hibernate.cfg.Binder bindRootClass
信息: Mapping class: com.regical.ecp.db.entity.Address -> T_Address
2003-11-11 17:04:13 net.sf.hibernate.cfg.Configuration addResource
信息: Mapping resource: com/regical/ecp/db/entity/Business.hbm.xml
2003-11-11 17:04:13 net.sf.hibernate.cfg.Binder bindRootClass
信息: Mapping class: com.regical.ecp.db.entity.Business -> T_Business
......
load other hbm.xml files (这些内容省略);
......

2003-11-11 17:04:16 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing one-to-one association property references
2003-11-11 17:04:16 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing foreign key constraints
2003-11-11 17:04:16 net.sf.hibernate.dialect.Dialect <init>
信息: Using dialect: net.sf.hibernate.dialect.OracleDialect
2003-11-11 17:04:16 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use outer join fetching: true
2003-11-11 17:04:16 net.sf.hibernate.connection.DBCPConnectionProvider configure
信息: DBCP using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@131.1.2.236:1521:orcl
2003-11-11 17:04:16 net.sf.hibernate.connection.DBCPConnectionProvider configure
信息: Connection properties: {user=test, password=test, pool.size=20}
2003-11-11 17:04:16 net.sf.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
信息: No TransactionManagerLookup configured (use of process level read-write cache is not recommended);
2003-11-11 17:04:17 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use scrollable result sets: true
2003-11-11 17:04:17 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: JDBC 2 max batch size: 15
2003-11-11 17:04:17 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: echoing all SQL to stdout
2003-11-11 17:04:17 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Query language substitutions: {}
2003-11-11 17:04:17 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: cache provider: net.sf.hibernate.cache.JCSCacheProvider
2003-11-11 17:04:17 net.sf.hibernate.cfg.Configuration configureCaches
信息: instantiating and configuring caches
2003-11-11 17:04:17 net.sf.hibernate.impl.SessionFactoryImpl <init>
信息: building session factory
2003-11-11 17:04:18 net.sf.hibernate.impl.SessionFactoryObjectFactory addInstance
信息: no JNDI name configured


关于classloader,我做的是Application,不是J2EE程序,而且代码中也没有使用我自己的classloader,使用都不得是系统的classloader!
0 请登录后投票
   发表时间:2003-11-11  
Hibernate用的是apache的commons-logging,这套库它又是套用别的logger,它按照如下的顺序寻找,找到谁就用谁:
1、如果classpath中有log4j.jar,它就用自己的Log4JLogger;
2、如果系统在JDK1.4上运行,就用Jdk14Logger;
3、如果上面都没有,就用自带的SimpleLog。

所以我想你上面的Log系统可能不是Log4J,而是其它的。你可以找一下。
0 请登录后投票
   发表时间:2003-11-12  
squirrel 写道
Hibernate用的是apache的commons-logging,这套库它又是套用别的logger,它按照如下的顺序寻找,找到谁就用谁:
1、如果classpath中有log4j.jar,它就用自己的Log4JLogger;
2、如果系统在JDK1.4上运行,就用Jdk14Logger;
3、如果上面都没有,就用自带的SimpleLog。

所以我想你上面的Log系统可能不是Log4J,而是其它的。你可以找一下。


是这个问题了,不知道为什么在我的commons-logging.jar文件中没有log4j的内容,所以它就使用了jdk1.4的日志类,从网上新Down了个库下来,已经OK了!

万分谢谢!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics