我已将事件侦听器添加Agenda到RuleRuntime我的无状态 KIE 会话中,但所有输出都显示为ERROR [stderr] ...;是否可以配置会话/侦听器以使用stdout和控制日志级别(最好INFO)?
我在 KIE Execution Server 上看到了一个几乎相同的Google Groups问题,但我将 drools 引擎嵌入到 Thorntail 应用程序中。
我正在使用无状态KIE 会话和7.23.0.Final, org.kie.kie-api, org.kie.kie-cie. org.drools.drools-core创建我的无状态会话的摘录是:
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
StatelessKieSession statelessKieSession = kieContainer.newStatelessKieSession();
statelessKieSession.addEventListener(new DebugAgendaEventListener());
statelessKieSession.addEventListener(new DebugRuleRuntimeEventListener());
我注意到DebugAgendaEventListener和DebugRuleRuntimeEventListener的构造函数之一可以接受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尽可能将它们输出到。