Drools的默认stderr输出是否可以使用调试事件侦听器在stdout中更改为INFO?

丹尼尔克

我已经添加AgendaRuleRuntime事件侦听器来我的无状态会话KIE但所有的输出显示为ERROR [stderr] ...; 是否可以配置会话/侦听器以使用stdout和控制日志级别(最好是INFO)?

我已经看到有关KIE Execution Server的几乎相同的Google网上论坛问题,但是我将Drools引擎嵌入了Thorntail应用程序中。

我使用的是无状态的会话KIE和版本7.23.0.Finalorg.kie.kie-apiorg.kie.kie-cieorg.drools.drools-core创建我的无状态会话的摘录是:

KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
StatelessKieSession statelessKieSession = kieContainer.newStatelessKieSession();
statelessKieSession.addEventListener(new DebugAgendaEventListener());
statelessKieSession.addEventListener(new DebugRuleRuntimeEventListener());

我注意到DebugAgendaEventListenerDebugRuleRuntimeEventListener上的构造函数之一可以接受PrintStream参数,我可以用它代替默认值stderr吗?

记录到控制台的样本输出为:

ERROR [stderr] (default task-1) ==>[ActivationCreatedEvent: getActivation()=[[ ...]]]
ERROR [stderr] (default task-1) ==>[BeforeActivationFiredEvent:  getActivation()=[[...]]]
... Rule fired ...
ERROR [stderr] (default task-1) ==>[AfterActivationFiredEvent: getActivation()=[[ ... ]]]

我不知道为什么stderr默认情况下会记录这些信息,它们会显示更多DEBUG/TRACE级别信息,因此希望将它们输出到stdout可能的位置。

塔里拉

Debug*Listener默认情况下,无论任何日志记录配置如何,kie-api中(s)都会发出标准错误以起作用。实际上,您可以通过使用该构造函数传递自定义PrintStream来覆盖打印消息发出的位置。

是否可以配置会话/侦听器以使用stdout和控制日志级别(最好是INFO)?

您可以使用Debug*Listener在包(S)org.drools.core.eventdrools-core依赖,它通过SLF4J的方式在你所描述的方法,那就是发射波长为工程已经默认info默认级别。假设您已将日志配置为默认发送到标准输出,那么它将以开箱即用的方式工作。

这些只是一些“实用程序”的默认实现。或者,您可以实现自己的侦听器以在您最喜欢的环境中工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Windows Phone中是否可以使用Android的带有侦听器的构造?

Symfony2:将事件更改为侦听器

是否可以在nodejs中的“ newListener”事件的事件侦听器回调中发出事件?

创建一个事件侦听器来侦听变量中的值是否已更改

Service Worker 可以使用哪种类型的事件侦听器

是否可以使用 Web Flux Spring 集成创建队列侦听器?

是否可以在 if 语句中嵌套 jQuery 事件侦听器?

是否可以将默认实现添加到表示侦听器的接口的方法中?

是否可以为数组中的每个对象定义事件侦听器?

是否可以从Vue.js 2中的组件访问事件侦听器

如何覆盖单个选择元素中的默认事件侦听器以使其表现得像多个?

是否可以通过侦听器更改@Value 字段?

数组节点js中数据更改的事件侦听器

事件侦听器是否需要位于IIFE中?

事件侦听器是否需要位于IIFE中?

是否使用“ .click()”异步触发事件侦听器?

Android中是否存在模型更改侦听器机制

是否可以在EditTextPreference上使用侦听器?

在Qt中:我可以使用qDebug()输出到`stderr`一样容易地输出到`stdout`吗?

如何在Firefox调试器中删除事件侦听器?

是否可以将事件侦听器绑定到来自外部脚本的影子dom中的元素?

corona sdk 中的一个对象上是否可以有两个触摸事件侦听器?

是否可以将Tedious连接和请求事件侦听器放在Node.js的单独模块中?

如何在事件侦听器中覆盖事件阻止默认值?

Firebase onDataChange - 值事件侦听器不侦听更改

在调试时或从JavaScript代码中如何在DOM节点上查找事件侦听器?

Java 中的事件(侦听器)

类中的 Javascript 事件侦听器

jQuery中的单击事件侦听器