<div>You can use a KnowledgeBuilder with template-derived DRL-resources and set up your KnowledgeBase from its results the same way you do it with plain .drl-files. Obtain a StatefulKnaowledgeSession and pass this to the KnowledgeRuntimeLoggerFactory, as in your first code sample.</div>

<div>-W<br><br> </div>
<div><span class="gmail_quote">On 6/30/09, <b class="gmail_sendername">chris@twc</b> &lt;<a href="mailto:christopher.mcfarland@twc.state.tx.us">christopher.mcfarland@twc.state.tx.us</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">I&#39;m trying to figure out how I can create a Logger to log rule activations for my Template File code. I followed the examples to successfully create a Logger for DRL and Decision Table examples. Apparently, to create a Logger, the KnowledgeRuntimeLoggerFactory methods take a KnowledgeRuntimeEventManager type, which <i>StatefulKnowledgeSession</i> implements. But, for the Template File examples, the <i>StatefulSession</i> from the &quot;unstable&quot; drools-core *does not* implement this interface. SEE the code examples below - how do I create a Logger for my Template File code? 
<p>//#### DRL FILE &amp; EXCEL FILE EXAMPLE FOR CREATING A SESSION AND FIRING THE RULES:<br>//#### CREATING A RULES LOGGER WORKS 
<p><pre>// populate working memory
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(...[DRL or DTABLE resources]...);
KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
knowledgeBase.addKnowledgePackages(kbuilder.getKnowledgePackages());
// create session
StatefulKnowledgeSession rulesSession = knowledgeBase.newStatefulKnowledgeSession();
KnowledgeRuntimeLogger rulesLogger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(rulesSession); //&lt;&lt;<b>CREATE LOGGER!</b>
FactHandle factHandle = rulesSession.insert(myFact);
// fire the rules
rulesSession.fireAllRules();
</pre>//#### TEMPLATE FILE EXAMPLE FOR CREATING A SESSION AND FIRING THE RULES:<br>//#### CREATING A RULES LOGGER DOES NOT COMPILE! 
<p><pre>// populate working memory
ExternalSpreadsheetCompiler converter = new ExternalSpreadsheetCompiler();
InputStream spreadsheetStream = ...
InputStream templateFileStream = ...
String drl = converter.compile(spreadsheetStream, templateFileStream, 3, 3);
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new StringReader(drl));
RuleBase templateRuleBase = RuleBaseFactory.newRuleBase();
templateRuleBase.addPackage(builder.getPackage());
// create session
StatefulSession rulesSession = templateRuleBase.newStatefulSession();
KnowledgeRuntimeLogger rulesLogger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(rulesSession);//&lt;&lt;<b>DOESN&#39;T COMPILE!</b>
FactHandle factHandle = rulesSession.insert(myFact);
// fire the rules
rulesSession.fireAllRules();
</pre><br>
<hr align="left" width="300">
View this message in context: <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nabble.com/Drools-5---how-create-Logger-for-Template-File-based-rules--tp24277191p24277191.html" target="_blank">Drools 5 - how create Logger for Template File based rules?</a><br>
Sent from the <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nabble.com/drools---user-f11823.html" target="_blank">drools - user mailing list archive</a> at Nabble.com.<br>
<p></p>
<p></p>
<p></p><br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></p></p></p></blockquote>
</div><br>