1

Comment puis-je activer le suivi/journalisation du moteur de règles lorsque l'application de règles est en cours d'exécution sur le serveur KIE?Comment est-ce que je peux tracer l'exécution de règle de drools dans le serveur de KIE?

L'application de règles a été créée dans Workbench et ne contient aucun code personnalisé. Je suis capable d'exécuter les règles à l'aide de l'API KIE REST, mais l'application de règles ne produit pas les résultats attendus.

Environnement:

Win7

Tomcat 9

Drools 6.5.0-finales

Mise à jour:

J'ai essayé les étapes suivantes:

  1. Clone du projet établi localement en utilisant git
  2. Ajouter logback.xml au répertoire racine du projet
  3. Poussez revient à la prise en pension git établi
  4. Ajouté logback comme une dépendance dans la vue du projet de plan de travail de l'éditeur
  5. Mise à jour la version du projet et redéployer au conteneur

Quand je fais cela, il ne tient pas compte de mes paramètres de journalisation, mais sans cesse des messages de journal des spams à la console, en disant m e qu'il ne peut pas instancier des classes de Logback:

20-Jun-2017 16:58:29.070 WARNING [http-nio-8080-exec-5] org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable to create instance of type ch.qos.logback.classic.selector.C 
ontextSelector due to ch.qos.logback.classic.selector.ContextSelector 
20-Jun-2017 16:58:29.083 WARNING [http-nio-8080-exec-5] org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable to create instance of type ch.qos.logback.classic.selector.C 
ontextJNDISelector due to ch.qos.logback.classic.selector.ContextJNDISelector 
20-Jun-2017 16:58:29.101 WARNING [http-nio-8080-exec-5] org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable to create instance of type ch.qos.logback.classic.selector.D 
efaultContextSelector due to ch.qos.logback.classic.selector.DefaultContextSelector 

Répondre

0

Ajouter les pots suivants dans le dossier de tomcat /lib:

logback-classic-1.1.3.jar 
logback-core-1.1.3.jar 
slf4j-api-1.7.2.jar 
slf4j-ext-1.7.2.jar 

(ne me souviens pas si les pots de SLF4J étaient déjà là, ou si j'ajouté les.)

Pour Windows, créez un fichier texte bin/setenv.bat s'il n'en existe aucun.

Dans setenv.bat, ajoutez les paramètres suivants:

set "JAVA_OPTS=%JAVA_OPTS% -Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener -Dlogback.configurationFile="%CATALINA_HOME%\conf\logback.groovy"" 

Ces écoute de la console indique logback de vous dire si votre config logback est erroné. L'autre paramètre est l'emplacement de votre fichier de configuration de logback.

Pour les règles de suivi, mon logback.groovy ressemble à quelque chose comme ceci:

import java.nio.charset.Charset 

appender('STDOUT', ConsoleAppender) { 
    encoder(PatternLayoutEncoder) { 
     charset = Charset.forName('UTF-8') 

     pattern = "%d{HH:mm:ss.SSS} %-5level %logger{5} - %msg%n" 
    } 
} 

appender('STDOUT-SHORT', ConsoleAppender) { 
    encoder(PatternLayoutEncoder) { 
     charset = Charset.forName('UTF-8') 

     pattern = "%d{HH:mm:ss.SSS} - %msg%n" 
    } 
} 

root(WARN, ["STDOUT"]) 

logger("org.apache", WARN, ["STDOUT"], false) 
logger("org.kie.server", WARN, ["STDOUT"], false) 
logger("org.kie.server.controller", DEBUG, ["STDOUT"], false) 
logger("org.guvnor.common.services.builder.IncrementalBuilderExecutorManagerFactoryImpl", ERROR, ["STDOUT"], false) 
logger("bitronix", ERROR, ["STDOUT"], false) 

logger("org.kie.api.event.rule", TRACE, ["STDOUT"], false) 
logger("org.drools.core", TRACE, ["STDOUT-SHORT"], false) 
logger("org.uberfire.commons.async.SimpleAsyncExecutorService", ERROR, ["STDOUT"], false) 

Ces paramètres produisent une sortie et cryptique mais spammy utile à partir du serveur KIE et le plan de travail.