[
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.