diff --git a/src/main/java/org/bonitasoft/log/event/BEvent.java b/src/main/java/org/bonitasoft/log/event/BEvent.java index 6c8ff7c..d6c45d4 100644 --- a/src/main/java/org/bonitasoft/log/event/BEvent.java +++ b/src/main/java/org/bonitasoft/log/event/BEvent.java @@ -6,8 +6,6 @@ import java.util.Map; import java.util.logging.Logger; - - public class BEvent { /** @@ -61,8 +59,8 @@ public enum Level { * @deprecated use the constructor with the consequence explanation */ @Deprecated - public BEvent(final String packageName, final long number, final Level level, final String title, final String cause, final String action) - { + public BEvent(final String packageName, final long number, final Level level, final String title, + final String cause, final String action) { mNumber = number; mLevel = level; mPackageName = packageName.trim(); @@ -75,9 +73,9 @@ public BEvent(final String packageName, final long number, final Level level, fi } - public BEvent(final String packageName, final long number, final Level level, final String title, final String cause, final String consequence, - final String action) - { + public BEvent(final String packageName, final long number, final Level level, final String title, + final String cause, final String consequence, + final String action) { mNumber = number; mLevel = level; mPackageName = packageName.trim(); @@ -89,15 +87,17 @@ public BEvent(final String packageName, final long number, final Level level, fi mReferenceEvent = null; mParameters = ""; } + /** * constructor for normal event (info, success, debug) + * * @param packageName * @param number * @param level * @param title */ - public BEvent(final String packageName, final long number, final Level level, final String title, final String cause) - { + public BEvent(final String packageName, final long number, final Level level, final String title, + final String cause) { mNumber = number; mLevel = level; mPackageName = packageName.trim(); @@ -115,14 +115,12 @@ public BEvent(final String packageName, final long number, final Level level, fi * @param referenceEvent * @param parameters */ - public BEvent(final BEvent referenceEvent, final String parameters) - { + public BEvent(final BEvent referenceEvent, final String parameters) { mReferenceEvent = referenceEvent; mParameters = parameters; } - public BEvent(final BEvent referenceEvent, final Exception e, final String parameters) - { + public BEvent(final BEvent referenceEvent, final Exception e, final String parameters) { mReferenceEvent = referenceEvent; mParameters = parameters; // this is an error : keep the strack trace ! @@ -143,8 +141,7 @@ public BEvent(final BEvent referenceEvent, final Exception e, final String param * * @return */ - public boolean isError() - { + public boolean isError() { final Level level = getLevel(); if (level == Level.APPLICATIONERROR || level == Level.CRITICAL || level == Level.ERROR) { return true; @@ -152,29 +149,42 @@ public boolean isError() return false; } - /** * isSame * Compare the new event with this one. They are identical when the number / package / parameters are identical. */ - public boolean isIdentical(final BEvent compareEvent) - { - if ( compareEvent.getNumber() == getNumber() - && compareEvent.getPackageName().equals( getPackageName()) - && compareEvent.getParameters().equals( getParameters())) { + public boolean isIdentical(final BEvent compareEvent) { + if (compareEvent.getNumber() == getNumber() + && compareEvent.getPackageName().equals(getPackageName()) + && compareEvent.getParameters().equals(getParameters())) { return true; } return false; } + /** - * log this event, in a reference way + * log this event, in a reference way. + * All information about the event are logged (package+number, level, title, cause, consequence, actions parameters) + * No logger is given, then the logger used the package org.bonitasoft.log.event */ public void log() { final Logger logger = Logger.getLogger(BEvent.class.getName()); + log(logger); + } + + /** + * log using the logger, so this is possible to configure the logger.properties to see or not this log. + * All information about the event are logged (package+number, level, title, cause, consequence, actions parameters) + * + * @param logger to log on this logger + */ + public void log(Logger logger) { + final Level level = getLevel(); - String message = "Event[" + getPackageName() + "~" + getNumber() + "] *" + level.toString() + "* " + getTitle() + " [" + getParameters() + "] -Cause:" + String message = "Event[" + getPackageName() + "~" + getNumber() + "] *" + level.toString() + "* " + getTitle() + + " [" + getParameters() + "] -Cause:" + getCause(); if (getConsequence() != null) { message += " -Consequence:" + getConsequence(); @@ -183,7 +193,7 @@ public void log() { message += " -Action:" + getAction(); } if (mExceptionDetails != null) { - message+=" "+mExceptionDetails; + message += " " + mExceptionDetails; } if (level == Level.DEBUG) { @@ -206,8 +216,7 @@ public void log() { * * @return */ - public Map getJson(final boolean withHtml) - { + public Map getJson(final boolean withHtml) { final Map json = new HashMap(); json.put("number", getNumber()); json.put("level", getLevel().toString()); @@ -224,8 +233,13 @@ public Map getJson(final boolean withHtml) return json; } - public String getHtml() - { + + /** + * return a piece of HTML to display the event, using bootstrap classes + * + * @return + */ + public String getHtml() { final StringBuffer htmlEvent = new StringBuffer(); htmlEvent.append(""); @@ -264,10 +283,10 @@ public String getHtml() * this method is mainly for debugging */ @Override - public String toString() - { + public String toString() { // don't display the cause and the action, it's mainly for debugging - return getPackageName() + ":" + getNumber() + " (" + getLevel().toString() + ") " + getTitle() + " " + getParameters(); + return getPackageName() + ":" + getNumber() + " (" + getLevel().toString() + ") " + getTitle() + " " + + getParameters(); } /* ******************************************************************************** */ /* */ @@ -316,8 +335,7 @@ public String getParameters() { return mParameters != null ? mParameters : mReferenceEvent != null ? mReferenceEvent.getParameters() : null; } - private String stringToJson(final String source) - { + private String stringToJson(final String source) { if (source == null) { return ""; } diff --git a/src/main/java/org/bonitasoft/log/event/BEventFactory.java b/src/main/java/org/bonitasoft/log/event/BEventFactory.java index 6a8fa95..17c5baf 100644 --- a/src/main/java/org/bonitasoft/log/event/BEventFactory.java +++ b/src/main/java/org/bonitasoft/log/event/BEventFactory.java @@ -8,10 +8,8 @@ public class BEventFactory { /** * is this list contains one error ? If yes, then we return true */ - public static boolean isError(final List listEvents) - { - for (final BEvent event : listEvents) - { + public static boolean isError(final List listEvents) { + for (final BEvent event : listEvents) { if (event.isError()) { return true; } @@ -23,11 +21,9 @@ public static boolean isError(final List listEvents) * @param listEvents * @return */ - public static String getHtml(final List listEvents) - { + public static String getHtml(final List listEvents) { String table = ""; - for (final BEvent event : listEvents) - { + for (final BEvent event : listEvents) { table += ""; } table += "
" + event.getHtml() + "
"; @@ -41,14 +37,12 @@ public static String getHtml(final List listEvents) * @param listEvents the list modified if needed * @param event the new event to add */ - public static void addEventUniqueInList(final List listEvents, final BEvent eventToAdd) - { + public static void addEventUniqueInList(final List listEvents, final BEvent eventToAdd) { if (listEvents == null) { return; } - for (int i = 0; i < listEvents.size(); i++) - { + for (int i = 0; i < listEvents.size(); i++) { if (listEvents.get(i).isIdentical(eventToAdd)) { return; } @@ -63,14 +57,13 @@ public static void addEventUniqueInList(final List listEvents, final BEv * @param listEvents * @param eventsToAdd */ - public static void addListEventsUniqueInList(final List listEvents, final List eventsToAdd) - { - for (final BEvent event : eventsToAdd) - { + public static void addListEventsUniqueInList(final List listEvents, final List eventsToAdd) { + for (final BEvent event : eventsToAdd) { addEventUniqueInList(listEvents, event); } } + /** * calculate from a list of event a UNIQUE list of event, keeping the same order. * An event already exist if this is the same package/number/parameters (see BEvent.same() ). @@ -78,15 +71,12 @@ public static void addListEventsUniqueInList(final List listEvents, fina * @param listEvents * @return */ - public static List filterUnique(final List listEvents) - { + public static List filterUnique(final List listEvents) { final List listUnique = new ArrayList(); - for (final BEvent event : listEvents) - { + for (final BEvent event : listEvents) { boolean alreadyExist = false; - for (final BEvent existingEvent : listUnique) - { + for (final BEvent existingEvent : listUnique) { if (event.isIdentical(existingEvent)) { alreadyExist = true; break; diff --git a/src/main/java/org/bonitasoft/log/example/BEventUsage.java b/src/main/java/org/bonitasoft/log/example/BEventUsage.java index 743ad3e..019f249 100644 --- a/src/main/java/org/bonitasoft/log/example/BEventUsage.java +++ b/src/main/java/org/bonitasoft/log/example/BEventUsage.java @@ -11,10 +11,14 @@ public class BEventUsage { // declare events - private final BEvent inputDivisionEvent = new BEvent(BEventUsage.class.getName(), 1, Level.INFO, "Calculate Division", "Run a division"); - private final BEvent resultDivisionEvent = new BEvent(BEventUsage.class.getName(), 2, Level.SUCCESS, "Division Done", "Result of the division"); - private final BEvent errorDivisionEvent = new BEvent(BEventUsage.class.getName(), 3, Level.ERROR, "Division Error", "An error arrive in the division", - "The result is not available", "Check the number you give at input : divide by 0 is not possible for example"); + private final BEvent inputDivisionEvent = new BEvent(BEventUsage.class.getName(), 1, Level.INFO, + "Calculate Division", "Run a division"); + private final BEvent resultDivisionEvent = new BEvent(BEventUsage.class.getName(), 2, Level.SUCCESS, + "Division Done", "Result of the division"); + private final BEvent errorDivisionEvent = new BEvent(BEventUsage.class.getName(), 3, Level.ERROR, "Division Error", + "An error arrive in the division", + "The result is not available", + "Check the number you give at input : divide by 0 is not possible for example"); public class DivisionResult { @@ -29,16 +33,14 @@ public class DivisionResult { * @param b * @return */ - public DivisionResult calculDivision(final double a, final double b) - { + public DivisionResult calculDivision(final double a, final double b) { final DivisionResult divisionResult = new DivisionResult(); divisionResult.listEvents.add(new BEvent(inputDivisionEvent, "Divide " + a + " by " + b)); - try - { + try { divisionResult.resultOfDivision = a / b; - divisionResult.listEvents.add(new BEvent(resultDivisionEvent, " Result is " + divisionResult.resultOfDivision)); - } catch (final Exception e) - { + divisionResult.listEvents + .add(new BEvent(resultDivisionEvent, " Result is " + divisionResult.resultOfDivision)); + } catch (final Exception e) { final BEvent bevent = new BEvent(errorDivisionEvent, e, "Error with operand " + a + " / " + b); bevent.log(); @@ -50,17 +52,14 @@ public DivisionResult calculDivision(final double a, final double b) /** * use the method */ - public void letsDivide() - { + public void letsDivide() { final Logger logger = Logger.getLogger(BEventUsage.class.getName()); DivisionResult divisionResult = calculDivision(23.4, 551); - if (BEventFactory.isError(divisionResult.listEvents)) - { + if (BEventFactory.isError(divisionResult.listEvents)) { logger.severe("Error ! "); } divisionResult = calculDivision(23.4, 0); - if (BEventFactory.isError(divisionResult.listEvents)) - { + if (BEventFactory.isError(divisionResult.listEvents)) { logger.severe("Error ! "); } }