【问题标题】:How to get the message from a Hibernate DEBUG log in Spring Boot?如何从 Spring Boot 中的 Hibernate DEBUG 日志中获取消息?
【发布时间】:2020-09-25 01:26:19
【问题描述】:

目前我正在使用在 YML 文件中定义属性的 Spring Boot 项目,如下所示:

logging:
  level:
    org:
      hibernate:
            SQL: DEBUG

我需要做的是从调试日志中检索消息(具体来说:在到达特定端点后由 Hibernate 执行的查询)并将该消息作为字符串值保存到数据库。

我尝试了以下方法:

@Value("${logging.level.org.hibernate.SQL}")
private String logMessage;

不幸的是,我只能显示“DEBUG”字符串。

像这样更改@Value 之后...

@Value("${logging.level.org.hibernate.SQL.DEBUG}")
private String logMessage;

...我遇到了一个错误。

您能否告诉我如何以正确的方式写下来,以查看调试日志中的确切消息?

或者也许有一些更好的方法来实现这一点?

我已经尝试过 requestLoggingFilter() 方法,但我找不到任何选项来检索确切的 Hibernate (SQL) 查询...

提前感谢您的帮助!

亲切的问候,马特

【问题讨论】:

    标签: java spring spring-boot hibernate logging


    【解决方案1】:

    通常将日志配置为将消息写入标准输出(通常是控制台)和日志文件。我建议你定义一个新的日志附加器,它将日志条目写入数据库。

    您可以找到一个配置示例,例如 here

    【讨论】:

    • 感谢mentallurg!根据您的提示,我又走了几步,现在我得到了一个新的困境...
    猜你喜欢
    • 1970-01-01
    • 2015-09-12
    • 2016-12-31
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2019-08-24
    • 1970-01-01
    相关资源
    最近更新 更多