From 5be2fd27cc3b05dca35853a9cba619f59c58bcff Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Tue, 19 Feb 2008 23:13:07 +0000 Subject: [PATCH] refactor: - make the ISimpleLogger.LogLevel a top level class change: - add LogLevel.UNDEFINED and LogLevel.TRACE SVN: 4329 --- .../concurrent/ConcurrencyUtilities.java | 8 +++--- .../cisd/common/logging/ConsoleLogger.java | 2 +- .../cisd/common/logging/ISimpleLogger.java | 5 +--- .../common/logging/Log4jSimpleLogger.java | 25 +++++++++++-------- .../cisd/common/logging/LogAnnotation.java | 2 +- .../cisd/common/logging/LogLevel.java | 11 ++++++++ .../utilities/DirectoryScanningTimerTask.java | 3 ++- .../cisd/common/utilities/FileUtilities.java | 11 ++++---- 8 files changed, 41 insertions(+), 26 deletions(-) create mode 100644 common/source/java/ch/systemsx/cisd/common/logging/LogLevel.java diff --git a/common/source/java/ch/systemsx/cisd/common/concurrent/ConcurrencyUtilities.java b/common/source/java/ch/systemsx/cisd/common/concurrent/ConcurrencyUtilities.java index 54a39590060..82188978dee 100644 --- a/common/source/java/ch/systemsx/cisd/common/concurrent/ConcurrencyUtilities.java +++ b/common/source/java/ch/systemsx/cisd/common/concurrent/ConcurrencyUtilities.java @@ -27,7 +27,7 @@ import java.util.concurrent.TimeoutException; import ch.systemsx.cisd.common.exceptions.CheckedExceptionTunnel; import ch.systemsx.cisd.common.logging.ISimpleLogger; -import ch.systemsx.cisd.common.logging.ISimpleLogger.Level; +import ch.systemsx.cisd.common.logging.LogLevel; /** * Concurrency related utility methods. @@ -91,7 +91,7 @@ public final class ConcurrencyUtilities if (loggerOrNull != null) { loggerOrNull - .log(Level.DEBUG, String.format("%s took longer than %f s, cancelled.", + .log(LogLevel.DEBUG, String.format("%s took longer than %f s, cancelled.", operationNameOrNull == null ? "UNKNOWN OPERATION" : operationNameOrNull, timeoutMillis / 1000f)); } @@ -101,7 +101,7 @@ public final class ConcurrencyUtilities future.cancel(true); if (loggerOrNull != null) { - loggerOrNull.log(Level.DEBUG, String.format("%s got interrupted.", + loggerOrNull.log(LogLevel.DEBUG, String.format("%s got interrupted.", operationNameOrNull == null ? "UNKNOWN OPERATION" : operationNameOrNull)); } return null; @@ -110,7 +110,7 @@ public final class ConcurrencyUtilities final Throwable cause = ex.getCause(); if (loggerOrNull != null) { - loggerOrNull.log(Level.ERROR, String.format("%s has caused an exception: %s", + loggerOrNull.log(LogLevel.ERROR, String.format("%s has caused an exception: %s", operationNameOrNull == null ? "UNKNOWN OPERATION" : operationNameOrNull, cause.getClass() .getSimpleName(), cause.getMessage() != null ? cause.getMessage() : "<no message>")); } diff --git a/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java b/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java index 422e78c7b51..15705b96b78 100644 --- a/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java +++ b/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java @@ -24,7 +24,7 @@ package ch.systemsx.cisd.common.logging; public class ConsoleLogger implements ISimpleLogger { - public void log(Level level, String message) + public void log(LogLevel level, String message) { System.out.println(level.toString() + ": " + message); } diff --git a/common/source/java/ch/systemsx/cisd/common/logging/ISimpleLogger.java b/common/source/java/ch/systemsx/cisd/common/logging/ISimpleLogger.java index dc673bd1b80..800e1977810 100644 --- a/common/source/java/ch/systemsx/cisd/common/logging/ISimpleLogger.java +++ b/common/source/java/ch/systemsx/cisd/common/logging/ISimpleLogger.java @@ -24,10 +24,7 @@ package ch.systemsx.cisd.common.logging; public interface ISimpleLogger { - /** A simple form of log levels. */ - public enum Level { ERROR, WARN, INFO, DEBUG } - /** Log <var>message</var> at log <var>level</var> out to some log file or display. */ - public void log(Level level, String message); + public void log(LogLevel level, String message); } diff --git a/common/source/java/ch/systemsx/cisd/common/logging/Log4jSimpleLogger.java b/common/source/java/ch/systemsx/cisd/common/logging/Log4jSimpleLogger.java index 591d2d69e4f..557cc23cb7b 100644 --- a/common/source/java/ch/systemsx/cisd/common/logging/Log4jSimpleLogger.java +++ b/common/source/java/ch/systemsx/cisd/common/logging/Log4jSimpleLogger.java @@ -16,6 +16,7 @@ package ch.systemsx.cisd.common.logging; +import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.Priority; @@ -30,20 +31,24 @@ public class Log4jSimpleLogger implements ISimpleLogger private final Logger log4jLogger; - private static final Priority toLog4jPriority(Level level) + static final Level toLog4jPriority(LogLevel level) { switch (level) { - case ERROR: - return org.apache.log4j.Level.ERROR; - case WARN: - return org.apache.log4j.Level.WARN; - case INFO: - return org.apache.log4j.Level.INFO; + case OFF: + return org.apache.log4j.Level.OFF; + case TRACE: + return org.apache.log4j.Level.TRACE; case DEBUG: return org.apache.log4j.Level.DEBUG; + case INFO: + return org.apache.log4j.Level.INFO; + case WARN: + return org.apache.log4j.Level.WARN; + case ERROR: + return org.apache.log4j.Level.ERROR; default: - throw new IllegalArgumentException("Unknown log level " + level); + throw new IllegalArgumentException("Illegal log level " + level); } } @@ -52,7 +57,7 @@ public class Log4jSimpleLogger implements ISimpleLogger * * @param log4jLogger The log4j logger to use. * @param log4jOverridePriorityOrNull If not <code>null</code>, use this log level instead of the one provided to - * the {@link ISimpleLogger#log(ch.systemsx.cisd.common.logging.ISimpleLogger.Level, String)}. + * the {@link ISimpleLogger#log(ch.systemsx.cisd.common.logging.LogLevel, String)}. */ public Log4jSimpleLogger(Logger log4jLogger, Priority log4jOverridePriorityOrNull) { @@ -70,7 +75,7 @@ public class Log4jSimpleLogger implements ISimpleLogger this(log4jLogger, null); } - public void log(Level level, String message) + public void log(LogLevel level, String message) { if (log4jOverridePriorityOrNull != null) { diff --git a/common/source/java/ch/systemsx/cisd/common/logging/LogAnnotation.java b/common/source/java/ch/systemsx/cisd/common/logging/LogAnnotation.java index 881eec39a0d..4e3b46f6c9d 100644 --- a/common/source/java/ch/systemsx/cisd/common/logging/LogAnnotation.java +++ b/common/source/java/ch/systemsx/cisd/common/logging/LogAnnotation.java @@ -22,7 +22,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; - /** * Log annotation for methods invoked by {@link LogInvocationHandler}. * @@ -34,4 +33,5 @@ import java.lang.annotation.Target; public @interface LogAnnotation { public LogCategory logCategory() default LogCategory.ACCESS; + public LogLevel logLevel() default LogLevel.UNDEFINED; } diff --git a/common/source/java/ch/systemsx/cisd/common/logging/LogLevel.java b/common/source/java/ch/systemsx/cisd/common/logging/LogLevel.java new file mode 100644 index 00000000000..4062e4ddd25 --- /dev/null +++ b/common/source/java/ch/systemsx/cisd/common/logging/LogLevel.java @@ -0,0 +1,11 @@ +package ch.systemsx.cisd.common.logging; + +/** + * A simple form of log levels. + * + * @author Bernd RInn + */ +public enum LogLevel +{ + UNDEFINED, OFF, TRACE, DEBUG, INFO, WARN, ERROR +} \ No newline at end of file diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java index 214dc8a2f46..c58fa5b3989 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java @@ -27,6 +27,7 @@ import org.apache.log4j.Logger; import ch.systemsx.cisd.common.logging.ISimpleLogger; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; +import ch.systemsx.cisd.common.logging.LogLevel; /** * A {@link TimerTask} that scans a source directory for entries that are accepted by some {@link FileFilter} and @@ -304,7 +305,7 @@ public final class DirectoryScanningTimerTask extends TimerTask { return new ISimpleLogger() { - public void log(ISimpleLogger.Level dummyLevel, String message) + public void log(LogLevel dummyLevel, String message) { if (category == LogCategory.NOTIFY) { diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/FileUtilities.java b/common/source/java/ch/systemsx/cisd/common/utilities/FileUtilities.java index 42e1298841e..af65a6fe58d 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/FileUtilities.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/FileUtilities.java @@ -46,6 +46,7 @@ import org.apache.commons.lang.StringUtils; import ch.systemsx.cisd.common.exceptions.CheckedExceptionTunnel; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; import ch.systemsx.cisd.common.logging.ISimpleLogger; +import ch.systemsx.cisd.common.logging.LogLevel; /** * Some useful utility methods for files and directories. @@ -398,7 +399,7 @@ public final class FileUtilities { if (loggerOrNull != null) { - loggerOrNull.log(ISimpleLogger.Level.INFO, String.format("Deleting file '%s'", file.getPath())); + loggerOrNull.log(LogLevel.INFO, String.format("Deleting file '%s'", file.getPath())); } file.delete(); } @@ -406,7 +407,7 @@ public final class FileUtilities } if (loggerOrNull != null) { - loggerOrNull.log(ISimpleLogger.Level.INFO, String.format("Deleting directory '%s'", path.getPath())); + loggerOrNull.log(LogLevel.INFO, String.format("Deleting directory '%s'", path.getPath())); } return path.delete(); } @@ -780,18 +781,18 @@ public final class FileUtilities { if (directory.isFile()) { - logger.log(ISimpleLogger.Level.ERROR, String.format( + logger.log(LogLevel.ERROR, String.format( "Failed to get listing of directory '%s' (path is file instead of directory).", directory)); } else { - logger.log(ISimpleLogger.Level.ERROR, String.format( + logger.log(LogLevel.ERROR, String.format( "Failed to get listing of directory '%s' (path not found).", directory)); } } else { StringWriter exStackWriter = new StringWriter(); exOrNull.printStackTrace(new PrintWriter(exStackWriter)); - logger.log(ISimpleLogger.Level.ERROR, String.format( + logger.log(LogLevel.ERROR, String.format( "Failed to get listing of directory '%s'. Exception: %s", directory, exStackWriter.toString())); } } -- GitLab