java - Ignite 的重复日志记录

标签 java slf4j dropwizard ignite jul-to-slf4j

我在 Dropwizard 应用程序中使用 Apache Ignite,但似乎无法让 Ignite 仅通过 slf4j 进行登录。 Dropwizard 附带 jul-to-slf4j桥和installs应用程序启动之前的所有桥。

我已关注instructions用于设置日志记录,但最终仍然会出现重复的日志:

IgniteConfiguration cfg = new IgniteConfiguration();
IgniteLogger log = new Slf4jLogger();
cfg.setGridLogger(log);
Ignite ignite = Ignition.start(cfg);

这是控制台输出:

INFO  main o.a.i.i.IgniteKernal: 

>>>    __________  ________________  
>>>   /  _/ ___/ |/ /  _/_  __/ __/  
>>>  _/ // (7 7    // /  / / / _/    
>>> /___/\___/_/|_/___/ /_/ /___/   
>>> 
>>> ver. 2.3.0#20171028-sha1:8add7fd5
>>> 2017 Copyright(C) Apache Software Foundation
>>> 
>>> Ignite documentation: http://ignite.apache.org

[10:34:32]    __________  ________________ 
[10:34:32]   /  _/ ___/ |/ /  _/_  __/ __/ 
[10:34:32]  _/ // (7 7    // /  / / / _/   
[10:34:32] /___/\___/_/|_/___/ /_/ /___/  
[10:34:32] 
[10:34:32] ver. 2.3.0#20171028-sha1:8add7fd5
[10:34:32] 2017 Copyright(C) Apache Software Foundation
[10:34:32] 
[10:34:32] Ignite documentation: http://ignite.apache.org
[10:34:32] 
[10:34:32] Quiet mode.
[10:34:32]   ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat}
[10:34:32] 

输出中的第一行看起来像是通过了 slf4j,然后带有时间戳的行看起来像是来自 7 月。是否有其他方法可以禁用来自 JUL 的内容?

最佳答案

我遇到了完全相同的问题。确保将 IGNITE_QUIET 环境变量设置为 false。根据documentation :“请注意,安静模式下的所有输出都是通过标准输出(STDOUT)完成的。”

您可以在命令行上执行此操作,也可以调用

System.setProperty(org.apache.ignite.IgniteSystemProperties.IGNITE_QUIET, "false");

在调用Ignition.start()之前。

关于java - Ignite 的重复日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48953559/

相关文章:

Java 对执行的各个字节码指令进行计数

java - Hibernate 找不到正确的外键

java - 如何让 JVM 在多态方法调用中将 scala.Array[T] 识别为 java 数组 T[]?

osgi - OSGi 运行时中的 Commons Logging 包

java - 读取 yaml 文件时发生 UnrecognizedPropertyException

mysql - 如果表存在,dropwizard hibernate liquibase 迁移将失败

java - 流式传输视频并在其上绘制多边形 Java

java - 使用方法右对齐三角形

log4j - 从我的 Java EE 应用程序记录日志

java - Dropwizard 0.8.x 中的 session 管理