在 Spring 引导中使用 hibernate-types-52 时如何禁用 Hypersistence 横幅?
How to disable the Hypersistence banner when using hibernate-types-52 in Spring Boot?
我在 Spring 引导项目中使用 com.vladmihalcea:hibernate-types-52
依赖项。而且,我注意到在应用程序启动时,添加了一些大日志消息:
2020-04-09 11:43:59.535 WARN 3465 --- [ main] Hypersistence Optimizer : You should use Hypersistence Optimizer to speed up your Hibernate application!
2020-04-09 11:43:59.535 WARN 3465 --- [ main] Hypersistence Optimizer : For more details, go to https://vladmihalcea.com/hypersistence-optimizer/
2020-04-09 11:43:59.536 INFO 3465 --- [ main] Hypersistence Optimizer :
_ _ _ _
| | | | (_) | |
| |__| |_ _ _ __ ___ _ __ ___ _ ___| |_ ___ _ __ ___ ___
| __ | | | | '_ \ / _ \ '__/ __| / __| __/ _ \ '_ \ / __/ _ \
| | | | |_| | |_) | __/ | \__ \ \__ \ || __/ | | | (_| __/
|_| |_|\__, | .__/ \___|_| |___/_|___/\__\___|_| |_|\___\___|
__/ | |
|___/|_|
____ _ _ _
/ __ \ | | (_) (_)
| | | |_ __ | |_ _ _ __ ___ _ _______ _ __
| | | | '_ \| __| | '_ ` _ \| |_ / _ \ '__|
| |__| | |_) | |_| | | | | | | |/ / __/ |
\____/| .__/ \__|_|_| |_| |_|_/___\___|_|
| |
|_|
提示很好,项目听起来很有趣,但仍想从我的应用程序中删除横幅。
项目所有者描述了引入横幅的原因、默认情况下不禁用它的原因以及如何手动禁用它。
How to remove the Hibernate Types banner
自动横幅移除模式
简而言之,您可以购买 Hypersistence Optimizer license 并将项目添加为依赖项,以便从 JPA 和 Hibernate 自动调整检查中获益。
手动删除横幅
或者您可以将 hibernate.properties
或 hibernate-types.properties
文件添加到您的项目中,其中一个 属性 可以禁用横幅:
hibernate.types.print.banner = false
或者,您可以将此 属性 作为 Java 系统 属性:
java -Dhibernate.types.print.banner=false -jar target/high-performance-java-persistence-1.0.0.jar
Spring开机
从 Hibernate 5.5 版本和 hibernate-types-55
依赖项开始,您现在可以在 application.properties
文件中提供 hibernate.types.print.banner
属性,如下所示:
spring.jpa.properties.hibernate.types.print.banner=false
If you're using hibernate-types-52
or older dependencies, then you won't be able to provide this setting via the Spring Boot application.properties
file.
如果您无权访问 JVM 参数,则可以替代上述答案。
这两种方法都适用于 Spring 引导,已在 2.2.x.
上进行测试
选项 1:附加属性文件
在 src/main/resources/hibernate-types.properties
创建一个文件。
hibernate.types.print.banner=false
选项 2:破解 hibernate-types 检查
创建以下任一文件(取决于您的 hibernate-types
版本)。
最新的做事方式:src/main/java/io/hypersistence/optimizer/core/License.java
。
package io.hypersistence.optimizer.core;
public class License {
public static class Signature {
}
}
旧版本检查 src/main/java/io/hypersistence/optimizer/HypersistenceOptimizer.java
。
package io.hypersistence.optimizer;
public class HypersistenceOptimizer {
}
只需在日志配置文件中包含记录器名称和级别WARN
或ERROR
。
log4j2 (log4j2.yml
) 的示例:
configuration:
Loggers:
Logger:
- name: Hibernate Types
level: WARN
注意:Logger 的名字在这里很重要:Hibernate Types
。测试 hibernate-types-52:2.9.13
。其他版本也可以实现相同的效果,只需包含正确的记录器名称即可。可以在日志中找到记录器名称。
我在 Spring 引导项目中使用 com.vladmihalcea:hibernate-types-52
依赖项。而且,我注意到在应用程序启动时,添加了一些大日志消息:
2020-04-09 11:43:59.535 WARN 3465 --- [ main] Hypersistence Optimizer : You should use Hypersistence Optimizer to speed up your Hibernate application!
2020-04-09 11:43:59.535 WARN 3465 --- [ main] Hypersistence Optimizer : For more details, go to https://vladmihalcea.com/hypersistence-optimizer/
2020-04-09 11:43:59.536 INFO 3465 --- [ main] Hypersistence Optimizer :
_ _ _ _
| | | | (_) | |
| |__| |_ _ _ __ ___ _ __ ___ _ ___| |_ ___ _ __ ___ ___
| __ | | | | '_ \ / _ \ '__/ __| / __| __/ _ \ '_ \ / __/ _ \
| | | | |_| | |_) | __/ | \__ \ \__ \ || __/ | | | (_| __/
|_| |_|\__, | .__/ \___|_| |___/_|___/\__\___|_| |_|\___\___|
__/ | |
|___/|_|
____ _ _ _
/ __ \ | | (_) (_)
| | | |_ __ | |_ _ _ __ ___ _ _______ _ __
| | | | '_ \| __| | '_ ` _ \| |_ / _ \ '__|
| |__| | |_) | |_| | | | | | | |/ / __/ |
\____/| .__/ \__|_|_| |_| |_|_/___\___|_|
| |
|_|
提示很好,项目听起来很有趣,但仍想从我的应用程序中删除横幅。
项目所有者描述了引入横幅的原因、默认情况下不禁用它的原因以及如何手动禁用它。
How to remove the Hibernate Types banner
自动横幅移除模式
简而言之,您可以购买 Hypersistence Optimizer license 并将项目添加为依赖项,以便从 JPA 和 Hibernate 自动调整检查中获益。
手动删除横幅
或者您可以将 hibernate.properties
或 hibernate-types.properties
文件添加到您的项目中,其中一个 属性 可以禁用横幅:
hibernate.types.print.banner = false
或者,您可以将此 属性 作为 Java 系统 属性:
java -Dhibernate.types.print.banner=false -jar target/high-performance-java-persistence-1.0.0.jar
Spring开机
从 Hibernate 5.5 版本和 hibernate-types-55
依赖项开始,您现在可以在 application.properties
文件中提供 hibernate.types.print.banner
属性,如下所示:
spring.jpa.properties.hibernate.types.print.banner=false
If you're using
hibernate-types-52
or older dependencies, then you won't be able to provide this setting via the Spring Bootapplication.properties
file.
如果您无权访问 JVM 参数,则可以替代上述答案。
这两种方法都适用于 Spring 引导,已在 2.2.x.
上进行测试选项 1:附加属性文件
在 src/main/resources/hibernate-types.properties
创建一个文件。
hibernate.types.print.banner=false
选项 2:破解 hibernate-types 检查
创建以下任一文件(取决于您的 hibernate-types
版本)。
最新的做事方式:src/main/java/io/hypersistence/optimizer/core/License.java
。
package io.hypersistence.optimizer.core;
public class License {
public static class Signature {
}
}
旧版本检查 src/main/java/io/hypersistence/optimizer/HypersistenceOptimizer.java
。
package io.hypersistence.optimizer;
public class HypersistenceOptimizer {
}
只需在日志配置文件中包含记录器名称和级别WARN
或ERROR
。
log4j2 (log4j2.yml
) 的示例:
configuration:
Loggers:
Logger:
- name: Hibernate Types
level: WARN
注意:Logger 的名字在这里很重要:Hibernate Types
。测试 hibernate-types-52:2.9.13
。其他版本也可以实现相同的效果,只需包含正确的记录器名称即可。可以在日志中找到记录器名称。