[ 
https://issues.apache.org/jira/browse/DIRMINA-656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Lecharny closed DIRMINA-656.
-------------------------------------


> Methods log in LoggingFilter.java use the subsequent eventLevel instead of 
> current
> ----------------------------------------------------------------------------------
>
>                 Key: DIRMINA-656
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-656
>             Project: MINA
>          Issue Type: Bug
>          Components: Filter
>    Affects Versions: 2.0.0-M4
>         Environment: Windows-XP SP3
> jdk1.6.0_11
>            Reporter: Aris Marsopoulos
>            Assignee: Emmanuel Lecharny
>            Priority: Minor
>             Fix For: 2.0.0-M5
>
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> The log methods in class LoggingFilter use the subsequent eventLevel instead 
> of current
> For example:
> If the current eventLevel i= LogLevel.INFO the log method uses logger.warn to 
> print the message (see source code for proof).
>     private void log(LogLevel eventLevel, String message) {
>       if (eventLevel == LogLevel.TRACE) {
>               logger.trace(message);
>       } else if (eventLevel.getLevel() > LogLevel.INFO.getLevel()) {
>               logger.info(message);
>       } else if (eventLevel.getLevel() > LogLevel.WARN.getLevel()) {
>               logger.warn(message);
>       } else if (eventLevel.getLevel() > LogLevel.ERROR.getLevel()) {
>               logger.error(message);
>       }
>     }
> Remedy:
> Either replace the > operator by a >= operator in all three log methods or 
> use a switch statement (see code below)
>     /**
>      * Log if the logger and the current event log level are compatible. We 
> log
>      * a message and an exception.
>      * 
>      * @param eventLevel the event log level as requested by the user
>      * @param message the message to log
>      * @param cause the exception cause to log
>      */
>     private void log(LogLevel eventLevel, String message, Throwable cause) {
>         switch(eventLevel)
>         {
>             case TRACE:
>                 logger.trace(message, cause);
>                 break;
>             case DEBUG:
>             case INFO:
>                 logger.info(message, cause);
>                 break;
>             case WARN:
>                 logger.warn(message, cause);
>                 break;
>             case ERROR:
>                 logger.error(message, cause);
>                 break;
>         }
>     }
>     /**
>      * Log if the logger and the current event log level are compatible. We 
> log
>      * a formated message and its parameters. 
>      * 
>      * @param eventLevel the event log level as requested by the user
>      * @param message the formated message to log
>      * @param param the parameter injected into the message
>      */
>     private void log(LogLevel eventLevel, String message, Object param) {
>         switch(eventLevel)
>         {
>             case TRACE:
>                 logger.trace(message, param);
>                 break;
>             case DEBUG:
>             case INFO:
>                 logger.info(message, param);
>                 break;
>             case WARN:
>                 logger.warn(message, param);
>                 break;
>             case ERROR:
>                 logger.error(message, param);
>                 break;
>         }
>     }
>     /**
>      * Log if the logger and the current event log level are compatible. We 
> log
>      * a simple message. 
>      * 
>      * @param eventLevel the event log level as requested by the user
>      * @param message the message to log
>      */
>     private void log(LogLevel eventLevel, String message) {
>         switch(eventLevel)
>         {
>             case TRACE:
>                 logger.trace(message);
>                 break;
>             case DEBUG:
>             case INFO:
>                 logger.info(message);
>                 break;
>             case WARN:
>                 logger.warn(message);
>                 break;
>             case ERROR:
>                 logger.error(message);
>                 break;
>         }
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to