Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebLogic-从服务器关闭Hibernate日志_Hibernate_Jpa_Log4j_Weblogic_Slf4j - Fatal编程技术网

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

每当查询由于表中的行级锁定而无法更新记录时,我就会在weblogic服务器日志中看到令人讨厌的日志。由于多个应用程序将尝试同时更新记录,因此需要锁定。应用程序旨在处理这些异常,并在一段时间后重试。但每次查询失败时,Hibernate都会将错误日志写入服务器输出文件

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的日志级别。检查这里:我尝试过使用分类,但没有改变行为。