implement feature #30 : log registered rules at engine startup

pull/55/head
Mahmoud Ben Hassine 9 years ago
parent 7087546e2d
commit edf11b6ac4

@ -35,6 +35,8 @@ import java.util.TreeSet;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import static java.lang.String.format;
/** /**
* Default {@link org.easyrules.api.RulesEngine} implementation. * Default {@link org.easyrules.api.RulesEngine} implementation.
* <p/> * <p/>
@ -102,12 +104,13 @@ class DefaultRulesEngine implements RulesEngine {
public void fireRules() { public void fireRules() {
if (rules.isEmpty()) { if (rules.isEmpty()) {
LOGGER.warning("No rules registered! Nothing to apply."); LOGGER.warning("No rules registered! Nothing to apply");
return; return;
} }
logEngineParameters(); logEngineParameters();
sortRules(); sortRules();
logRegisteredRules();
applyRules(); applyRules();
} }
@ -118,6 +121,7 @@ class DefaultRulesEngine implements RulesEngine {
private void applyRules() { private void applyRules() {
LOGGER.info("Rules evaluation started");
for (Rule rule : rules) { for (Rule rule : rules) {
final String name = rule.getName(); final String name = rule.getName();
@ -183,6 +187,14 @@ class DefaultRulesEngine implements RulesEngine {
LOGGER.log(Level.INFO, "Skip on first failed rule: {0}", parameters.isSkipOnFirstFailedRule()); LOGGER.log(Level.INFO, "Skip on first failed rule: {0}", parameters.isSkipOnFirstFailedRule());
} }
private void logRegisteredRules() {
LOGGER.log(Level.INFO, "Registered rules:");
for (Rule rule : rules) {
LOGGER.log(Level.INFO, format("Rule { name = '%s', description = '%s', priority = '%s'}",
rule.getName(), rule.getDescription(), rule.getPriority()));
}
}
private Rule asRule(final Object rule) { private Rule asRule(final Object rule) {
Rule result; Rule result;
if (Utils.getInterfaces(rule).contains(Rule.class)) { if (Utils.getInterfaces(rule).contains(Rule.class)) {

Loading…
Cancel
Save