fge*_*fge 27 java logging jooq
我是JooQ的忠实粉丝,不幸的是,自从3.3升级后,每次我的代码退出之前都会向控制台输出一条非常烦人的消息:
Feb 02, 2015 7:28:06 AM org.jooq.tools.JooqLogger info
INFO:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<snip>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Thank you for using jOOQ 3.5.1
Run Code Online (Sandbox Code Playgroud)
不幸的是,我根本无法删除此日志.
请注意,我不使用slf4j,也不使用log4j或任何日志API; 因此,我唯一可用的机制是jul
我试图使用它完全禁用它:
static {
Stream.of(Logger.getAnonymousLogger(), Logger.getGlobal(),
Logger.getLogger("org.jooq.tools.JooqLogger")
).forEach(l -> {
l.setLevel(Level.OFF);
final Handler[] handlers = l.getHandlers();
Arrays.stream(handlers).forEach(l::removeHandler);
});
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不起作用,消息仍然出现.
如何在修改代码时使这条消息消失,我想避免在这里?
Luk*_*der 19
这似乎对我有用:
static {
LogManager.getLogManager().reset();
}
Run Code Online (Sandbox Code Playgroud)
在Stack Overflow问题中,这也被解决了几次解决方案.
请注意,版本3.6+还将附带一个系统属性,可用于停用显示此徽标:
-Dorg.jooq.no-logo=true
Run Code Online (Sandbox Code Playgroud)
在v3.6及更高版本上,您可以执行以下操作:
System.getProperties().setProperty("org.jooq.no-logo", "true");
Run Code Online (Sandbox Code Playgroud)
该消息位于org.jooq.impl.DefaultRenderContext源文件中,它使用org.jooq.Constants记录器.这是相关的源代码:
/* [trial] */
JooqLogger l = JooqLogger.getLogger(Constants.class);
String message;
message = "Thank you for using jOOQ " + Constants.FULL_VERSION;
/* [pro] xx
xxxxxxx x xxxxxx xxx xxx xxxxx xxx xx xxx xxxx xxxx x x xxxxxxxxxxxxxxxxxxxxxx x x xxxxx xxxxxxxxx
xx [/pro] */
Run Code Online (Sandbox Code Playgroud)
看起来因为您使用的是试用版而生成了消息.我认为升级到专业版会禁用该消息.还有什么可以更好地表明你是该项目的忠实粉丝?
否则,如果您可以忍住内疚和羞耻,可以通过将级别设置为WARNING来禁用org.jooq.Constants记录器中的信息消息.
这可以在您的logging.properties中添加以下内容:
#ThanksNoThanks
org.jooq.Constants.level=WARNING
Run Code Online (Sandbox Code Playgroud)
或者通过调用以下方法在Java代码中:
__CODE__
确保您遵守您的jOOQ许可和维护协议:
//SorryNotSorry
private static final JOOQ_AD_LOGGER = Logger.getLogger("org.jooq.Constants");
static {
JOOQ_AD_LOGGER.setLevel(Level.WARNING);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5591 次 |
| 最近记录: |