【问题标题】:Hibernate to use Log4J instead of slf4j休眠以使用 Log4J 而不是 slf4j
【发布时间】:2014-03-08 19:44:43
【问题描述】:

我正在使用 ECLIPSE IDE(无 Maven)使用 JAX-RS 和 Hibernate 编写一个项目。 对于 Hibernate,我使用以下软件包:

hibernate version 4.3.1 Final

对于日志记录,我使用的是Log4J,它工作正常,但对于所有与 Hibernate 相关的日志,它正在打印成千上万条调试消息,我将在下面粘贴一些日志消息。

Log4J 没有被用于休眠内部配置。根据文档阅读以使用 Log4J 进行日志记录而不是简单的 SLF 记录器,我在类路径中有以下 jar:

  1. slf4j.api-1.6.1
  2. slf4j-log4j12-1.6.1
  3. log4j-1.2.17.

即使添加了上面的 jar 文件,它仍然会打印出大量的 DEBUG 消息,我不知道我是否错过了一些步骤来消除来自休眠初始化的日志。

我想从休眠 jar 中删除所有额外的日志,并仅使用我的 Log4J 设置来记录消息。

我使用的是 Eclipse IDE,而不是 Maven 或 pom 文件。

以下是附加信息:

Log4J Properties:
log4j.rootLogger=ERROR, stdout
log4j.logger.org.hibernate=ERROR
log4j.logger.org.hibernate.hql.ast.AST=INFO

Hibernate config:

<property name="connection.datasource">Test</property>
<property name="connection.pool.size">1</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="connection.autocommit">false</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">false</property>
<mapping resource="DBMappingOracle.hbm.xml" />

and dbmapping file has
<class name="com.text.model.IssueType" table="ISSUE_TYPE">
<id name="issueTypeID" column="ISSUE_ID" type="int" />
<property name="id" column="CATEGORY_ID" type="int" />
<property name="issuename" column="ISSUE_NAME" type="string" />
<property name="issueDesc" column="ISSUE_DESC" type="string" />
</class>

Here is the session code:
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
SessionFactory sf = cfg.buildSessionFactory();
Session session = sf.openSession();




DEBUG MESSAGES i SEE, like 1000's of them like below ones.

//2354 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] //DEBUG org.hibernate.hql.internal.ast.ErrorCounter  - throwQueryException() : no errors
//2354 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] //DEBUG org.hibernate.hql.internal.ast.ErrorCounter  - throwQueryException() : no errors
//2363 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] //DEBUG org.hibernate.hql.internal.ast.QueryTranslatorImpl  - HQL: From //com.ejgallo.distributor.claims.model.IssueSubType
//2363 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] //DEBUG org.hibernate.hql.internal.ast.QueryTranslatorImpl  - HQL: From //com.ejgallo.distributor.claims.model.IssueSubType
//2363 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] //DEBUG org.hibernate.hql.internal.ast.QueryTranslatorImpl  - SQL: select //issuesubty0_.ISSUE_SUBTYPE_ID as ISSUE_SU1_3_, issuesubty0_.ISSUE_ID as ISSUE_ID2_3_, //issuesubty0_.ISSUE_SUBTYPE_NAME as ISSUE_SU3_3_, issuesubty0_.ISSUE_SUBTYPE_DESC as //ISSUE_SU4_3_ from ISSUE_SUBTYPE issuesubty0_
//2363 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] 

【问题讨论】:

    标签: java hibernate logging log4j slf4j


    【解决方案1】:

    您的问题可能是 Hibernate 4 从使用 slf4j 切换到了 jboss 自己的称为 jboss-logging 的日志记录外观。

    看看这个问题及其答案:How do you configure logging in Hibernate 4 to use SLF4J

    他们详细介绍并提供有关如何将日志记录到 slf4j 以及随后使用您的配置到 log4j 的建议。

    【讨论】:

    • 嗨 Sheltem,感谢您的回复,我尝试将其添加到 weblogic 启动:-Dorg.jboss.logging.provider=log4j。通过按照您建议的上述链接,不知何故这似乎不起作用。上面的链接更多地讨论了来自 Maven 的项目。我正在使用 Eclipse IDE 并为 weblogic deploymnet 生成一个耳朵。
    • @vijju 依赖的信息是一样的,不管你自己提供还是让maven处理。
    • 嗨 Sheltem,不知何故,我拥有所有依赖项和系统属性,可以说使用 log4j 和 log4j 属性,除了休眠代码其余部分都在使用 log4j 并且这个休眠相关的 api 或配置正在转储所有额外的日志。你能清楚地说出是什么步骤吗?另一个链接令人困惑。
    • @vijju 我无法清楚地描述该怎么做,因为我不知道到底是什么问题。但是你可以尝试使用-Dorg.jboss.logging.provider=slf4j,所以 jboss-logging 会先路由到 slf4j 吗?
    • Sheltem,我试过 slf4j 也没有用。我已经验证了 Log4j-1.2.17 并且它具有 org.apache.log4j.Hierarchy ,如加载器使用该类的另一篇文章中所述,我们具有系统属性,我看到在运行时也可以使用。 jboss-logging-3.1.3.GA.jar 有 LoggerProvider 类。不确定缺少什么以及为什么大量调试消息来自。不确定某些类是否存在冲突。
    猜你喜欢
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    相关资源
    最近更新 更多