Is this stuff supposed to work with JDK1.3+? You're using varargs. You really need to validate this stuff by compiling under the lowest JDK you claim to support.
Jake [EMAIL PROTECTED] wrote: > Author: ceki > Date: Fri Aug 1 23:52:22 2008 > New Revision: 1089 > > Added: > slf4j/trunk/slf4j-ext/src/main/java/org/slf4j/LoggerX.java > slf4j/trunk/slf4j-ext/src/test/java/org/slf4j/LoggerXTest.java > > Log: > started work on bug 86, http://bugzilla.slf4j.org/show_bug.cgi?id=86 > > Added: slf4j/trunk/slf4j-ext/src/main/java/org/slf4j/LoggerX.java > ============================================================================== > --- (empty file) > +++ slf4j/trunk/slf4j-ext/src/main/java/org/slf4j/LoggerX.java Fri Aug > 1 23:52:22 2008 > @@ -0,0 +1,61 @@ > +package org.slf4j; > + > +import org.slf4j.helpers.MessageFormatter; > +import org.slf4j.spi.LocationAwareLogger; > + > +/** > + * A utility that provides standard mechanisms for logging certain kinds of > + * activities. > + * > + * @author Ralph Goers > + * @author Ceki Gulcu > + */ > +public class LoggerX { > + > + private static final String FQCN = LoggerX.class.getName(); > + static Marker FLOW_MARKER = MarkerFactory.getMarker("FLOW"); > + static Marker ENTRY_MARKER = MarkerFactory.getMarker("ENTER"); > + static Marker EXIT_MARKER = MarkerFactory.getMarker("EXIT"); > + > + static Marker EXCEPTION_MARKER = MarkerFactory.getMarker("EXCEPTION"); > + static Marker DIAG_MARKER = MarkerFactory.getMarker("DIAG"); > + > + static String ENTRY_MESSAGE_0 = "entry"; > + static String ENTRY_MESSAGE_1 = "entry with params ({})"; > + static String ENTRY_MESSAGE_2 = "entry with params ({}, {})"; > + static String ENTRY_MESSAGE_3 = "entry with params ({}, {}, {})"; > + static String ENTRY_MESSAGE_4 = "entry with params ({}, {}, {}, {})"; > + static int ENTRY_MESSAGE_ARRAY_LEN = 5; > + static String[] ENTRY_MESSAGE_ARRAY = new String[ENTRY_MESSAGE_ARRAY_LEN]; > + static { > + ENTRY_MARKER.add(FLOW_MARKER); > + EXIT_MARKER.add(FLOW_MARKER); > + ENTRY_MESSAGE_ARRAY[0] = ENTRY_MESSAGE_0; > + ENTRY_MESSAGE_ARRAY[1] = ENTRY_MESSAGE_1; > + ENTRY_MESSAGE_ARRAY[2] = ENTRY_MESSAGE_2; > + ENTRY_MESSAGE_ARRAY[3] = ENTRY_MESSAGE_3; > + ENTRY_MESSAGE_ARRAY[4] = ENTRY_MESSAGE_4; > + } > + > + /** > + * Log entry to a method > + * > + * @param logger > + * the Logger to log with. > + */ > + public static void entering(Logger logger, Object... argArray) { > + if (logger.isDebugEnabled(ENTRY_MARKER) > + && logger instanceof LocationAwareLogger) { > + String messagePattern = ""; > + if(argArray.length <= ENTRY_MESSAGE_ARRAY_LEN) { > + messagePattern = ENTRY_MESSAGE_ARRAY[argArray.length]; > + } > + > + String msg = MessageFormatter.arrayFormat(messagePattern, argArray); > + > + ((LocationAwareLogger) logger).log(ENTRY_MARKER, FQCN, > + LocationAwareLogger.ERROR_INT, msg, null); > + } > + } > + > +} > > Added: slf4j/trunk/slf4j-ext/src/test/java/org/slf4j/LoggerXTest.java > ============================================================================== > --- (empty file) > +++ slf4j/trunk/slf4j-ext/src/test/java/org/slf4j/LoggerXTest.java Fri Aug > 1 23:52:22 2008 > @@ -0,0 +1,12 @@ > +package org.slf4j; > + > +import junit.framework.TestCase; > + > +public class LoggerXTest extends TestCase { > + > + Logger logger = LoggerFactory.getLogger(this.getClass()); > + > + public void testSmoke() { > + LoggerX.entering(logger); > + } > +} > _______________________________________________ > dev mailing list > [email protected] > http://www.slf4j.org/mailman/listinfo/dev > > > _______________________________________________ dev mailing list [email protected] http://www.slf4j.org/mailman/listinfo/dev
