[rules-users] log4j has no logging, but setup according to documentation
Geoffrey De Smet
ge0ffrey.spam at gmail.com
Thu Aug 2 10:34:09 EDT 2012
Drools Planner logs to slf4j, from which you can configure logging with
log4j or logback (and others) to log to whatever and however you need it.
Drools Expert (the rule engine itself) does not log to anything by default.
A) You can add KnowledgeRuntimeLoggerFactory.newFileLogger(...) but that
will not give you the flexibility of a logging framework (such as
rolling files, backup files, controlling verbosity by package,
controlling verbosity by INFO/DEBUG/TRACE, log pattern configuration, ...).
B) You can implement your own WorkingMemoryLogger and pipe that to
slf4j, but WorkingMemoryLogger will probably not log anything of other
drools expert systems, such as the KnowledgeAgent, changeset problems,
xls to rules converstion, ... Those messages will still be send to
System.out.
C) If you want Drools Expert to log to slf4j by default, vote for this
issue: https://issues.jboss.org/browse/JBRULES-3551
Op 02-08-12 11:07, Tom Eugelink schreef:
> I'm still pretty new to drools (5.4.0 final) and I would like to see
> what Drools does; rules validation, MVEL expression evaluation, etc.
>
> There is a webpage that says that in order to activate logging I need
> to add a line to my log4j.xml:
> /http://docs.jboss.org/drools/release/5.4.0.Final/drools-planner-docs/html_single/index.html#d0e2947
> /
> First remark is that the XML is old style log4j; the current XML uses
> loggers and levels instead of category and priority. Beside that, it
> does not seem to work. After I've added /<logger
> name="org.drools"><level value="debug" /></logger>/ to my xml, nothing
> is logged. I know for sure that log4j via slf4j is working:
>
> /log4j: Trying to find [log4j.xml] using context classloader
> sun.misc.Launcher$AppClassLoader at 1c672d0.
> log4j: Using URL
> [file:/C:/Documents%20and%20Settings/User/My%20Documents/frozn/components/engine/_build/log4j.xml]
> for automatic log4j configuration.
> ...
> 2012-08-02 10:55:04,400 INFO
> nl.o837.frozn.engine.drools.test.DroolsExcelTrial.main(DroolsExcelTrial.java:49)
> running trail
> ...
> /
> However there is no Drools logging output on the console, only the
> print statements I've placed in the entity models. If I add this line
> to the code:
> /KnowledgeRuntimeLoggerFactory.newConsoleLogger(sessionObject);/
>
> Then there is some logging output:
> /OBJECT ASSERTED
> value:nl.o837.frozn.bm.Application at f664ec&ApplicationId=1 factId: 1
> ACTIVATION CREATED rule:PassportValidation_20
> activationId:PassportValidation_20 [2] declarations:
> p=nl.o837.frozn.bm.Passport at 5e29e5&PassportId=2(2)
> OBJECT ASSERTED value:nl.o837.frozn.bm.Passport at 5e29e5&PassportId=2
> factId: 2
> BEFORE ACTIVATION FIRED rule:PassportValidation_20
> activationId:PassportValidation_20 [2] declarations:
> p=nl.o837.frozn.bm.Passport at 5e29e5&PassportId=2(2)
> /
> So Drools actually is producing logging information.
>
> Is the documentation on the webpage incorrect? How do I get the
> logging information I would like?
>
> Tom
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
--
With kind regards,
Geoffrey De Smet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120802/d2045458/attachment.html
More information about the rules-users
mailing list