java - 休眠记录器不替换 %s
问题描述
我注意到一段时间以来,hibernate 不会替换%s
日志消息中的模板。我们自己的日志消息被替换得很好。我的项目使用 spring boot(包括 slf4j + logback)。
服务器启动时的休眠信息如下所示:
其他库也受到影响:
依存关系图,按要求:https ://pastebin.com/b0QcBBnV
解决方案
- 要配置休眠使用
slf4j
,它需要以下属性,它需要启动应用程序
-Dorg.jboss.logging.provider=slf4j
或在主 Spring 引导应用程序类中
static {
System.setProperty("org.jboss.logging.provider", "slf4j");
}
为弄清楚发生了什么而采取的步骤
这实际上不是一个答案,而是一些故障排除步骤,因为上面的类之一是JtaPlatformInitiator
我无法复制它。
JtaPlatformInitiator.org.hibernate.engine.transaction.jta.platform.internal
在类中的以下行放置一个断点:
LOG.usingJtaPlatform( platform != null ? platform.getClass().getName() : "null" );