Я добавил прослушиватели событий Agenda
и RuleRuntime
в мой сеанс KIE без сохранения состояния, но все выходные данные отображаются как ERROR [stderr] ...
;Можно ли настроить сеанс / прослушиватели для использования stdout
и управления уровнями журнала (предпочтительно INFO
)?
Я видел почти идентичный Google Groups вопрос для выполнения KIEСервер, но я встраиваю движок 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
, если это возможно.