在eclipse中关闭hibernate日志记录

时间:2014-04-01 01:44:53

标签: java eclipse spring hibernate

我有一个使用hibernate和slf4j在eclipse中运行的spring mvc app。我想在控制台中关闭hibernate日志记录,因为它正在掩埋我希望能够看到的其他控制台消息。如何关闭休眠日志?

我已就此主题进行了大量的网络搜索,并查看了有关堆栈溢出的其他帖子,但其他帖子没有回答我的问题。例如,来自另一个帖子的以下代码将不会在eclipse中编译,因为它给出了方法不属于对象的消息,即使我为给定对象导入了每个可能的包集合:

    List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers());
    loggers.add(LogManager.getRootLogger());
    for ( Logger logger : loggers ) {
        logger.setLevel(Level.OFF);
    }

此外,在show_sql的工作区中执行关键字搜索没有产生任何结果,因此我似乎不能将hibernate.show_sql设置为false。

也许其他解决方案适用于过时的库版本?我使用的是eclipse kepler,slf4 1.7.5和hibernate 4.2。

3 个答案:

答案 0 :(得分:2)

要关闭休眠消息,您必须正确配置日志框架。

很可能你正在使用log4j。 log4j的配置位于log4j.xml或log4j.properties

只需将类似的内容添加到配置文件

log4j.logger.org.hibernate=ERROR

答案 1 :(得分:2)

如果您只想关闭Spring Petclinic示例应用程序中的Hibernate SQL日志记录,请在src / main / resources / spring / data-access.properties中将jpa.showSql设置为false。

希望这有帮助。

答案 2 :(得分:0)

这可能会有所帮助,设置&#34; show_sql&#34;在代码中动态地为false。

Configuration cfg = new Configuration().configure().
    .setProperty("hibernate.show_sql", "false");

如果没有在stackoverflow上查看这篇文章:

Click here