WebLogic-从服务器关闭Hibernate日志
每当查询由于表中的行级锁定而无法更新记录时,我就会在weblogic服务器日志中看到令人讨厌的日志。由于多个应用程序将尝试同时更新记录,因此需要锁定。应用程序旨在处理这些异常,并在一段时间后重试。但每次查询失败时,Hibernate都会将错误日志写入服务器输出文件WebLogic-从服务器关闭Hibernate日志,hibernate,jpa,log4j,weblogic,slf4j,Hibernate,Jpa,Log4j,Weblogic,Slf4j,每当查询由于表中的行级锁定而无法更新记录时,我就会在weblogic服务器日志中看到令人讨厌的日志。由于多个应用程序将尝试同时更新记录,因此需要锁定。应用程序旨在处理这些异常,并在一段时间后重试。但每次查询失败时,Hibernate都会将错误日志写入服务器输出文件 WARNING: SQL Error: -244, SQLState: IX000 16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: -244, SQLState: IX000
16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Could not do a physical-order read to fetch next row.
16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: -113, SQLState: IX000
16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ISAM error: the file is locked.
16-Oct-2013 19:15:00 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
SEVERE: Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not update: [uk.co.orange.rp.collections.entity.PpsServerLock#2]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
.
.
.
在Eclipse中,我可以通过在类路径中添加slf4j-log4j12 jar来避免登录控制台。但我无法在WebLogic应用程序中实现同样的功能
即使尝试在weblogic-application.xml上添加以下内容,也没有成功
<prefer-application-packages>
<package-name>org.slf4j.*</package-name>
<package-name>org.apache.log4j.*</package-name>
</prefer-application-packages>
org.slf4j*
org.apache.log4j*
有人能提出其他的建议吗
我使用的是Hibernate-3.3.2、Log4j-1.2.15、slf4j-1.5.6、JPA-1.1
关于正如您提到的,您使用sl4j作为日志外观,使用log4j作为底层日志库,您必须在应用程序类路径中的某个位置使用特定于应用程序的log4j属性(或xml配置)文件。尝试将org.hibernate的log4j记录器设置为致命或高于应用程序代码中捕获异常的任何级别。我找到了原因,我在服务器类路径中有slf4j-log4j和slf4j-jdk14 jar。我已经从类路径中删除了slf4j-jdk14,一切都按预期工作。因为我不需要任何hibernate日志,所以不需要对log4j.xml进行任何更改
谢谢大家。如果需要,您可以配置hibernate的日志级别。检查这里:我尝试过使用分类,但没有改变行为。