I see. Thanks! Sent from my iPhone
> On 2014/04/16, at 12:36, Matt Sicker <[email protected]> wrote: > > The second parameter is only used for casting. The updated log message makes > sense, though. Added. > > >> On 15 April 2014 18:53, Remko Popma <[email protected]> wrote: >> Should the ClockFactory debug statement not be this? >> >> LOGGER.debug("Using {} for timestamps", result.getClass().getName()); >> >> I'm assuming that Loader.newCheckedInstanceOf returns an instance of the 2nd >> param if it can't instantiate the 1st param. (Away from PC). >> >> Sent from my iPhone >> >>> On Tuesday, April 15, 2014, <[email protected]> wrote: >>> Author: mattsicker >>> Date: Tue Apr 15 05:55:06 2014 >>> New Revision: 1587433 >>> >>> URL: http://svn.apache.org/r1587433 >>> Log: >>> Use Loader.newCheckedInstanceOf >>> >>> Modified: >>> >>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java >>> >>> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java >>> >>> Modified: >>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java >>> URL: >>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java?rev=1587433&r1=1587432&r2=1587433&view=diff >>> ============================================================================== >>> --- >>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java >>> (original) >>> +++ >>> logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java >>> Tue Apr 15 05:55:06 2014 >>> @@ -75,7 +75,7 @@ public final class ClockFactory { >>> return CoarseCachedClock.instance(); >>> } >>> try { >>> - final Clock result = (Clock) >>> Class.forName(userRequest).newInstance(); >>> + final Clock result = Loader.newCheckedInstanceOf(userRequest, >>> Clock.class); >>> LOGGER.debug("Using {} for timestamps", userRequest); >>> return result; >>> } catch (final Exception e) { >>> >>> Modified: >>> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java >>> URL: >>> http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java?rev=1587433&r1=1587432&r2=1587433&view=diff >>> ============================================================================== >>> --- >>> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java >>> (original) >>> +++ >>> logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java >>> Tue Apr 15 05:55:06 2014 >>> @@ -20,6 +20,7 @@ import java.io.FileWriter; >>> import java.io.IOException; >>> >>> import com.lmax.disruptor.collections.Histogram; >>> +import org.apache.logging.log4j.core.helpers.Loader; >>> >>> public class PerfTest { >>> >>> @@ -66,8 +67,7 @@ public class PerfTest { >>> >>> public void doMain(final String[] args) throws Exception { >>> final String runnerClass = args[0]; >>> - final IPerfTestRunner runner = (IPerfTestRunner) >>> Class.forName(runnerClass) >>> - .newInstance(); >>> + final IPerfTestRunner runner = >>> Loader.newCheckedInstanceOf(runnerClass, IPerfTestRunner.class); >>> final String name = args[1]; >>> final String resultFile = args.length > 2 ? args[2] : null; >>> for (final String arg : args) { >>> @@ -140,9 +140,12 @@ public class PerfTest { >>> >>> if (file != null) { >>> final FileWriter writer = new FileWriter(file, true); >>> - writer.write(result); >>> - writer.write(System.getProperty("line.separator")); >>> - writer.close(); >>> + try { >>> + writer.write(result); >>> + writer.write(System.getProperty("line.separator")); >>> + } finally { >>> + writer.close(); >>> + } >>> } >>> } >>> >>> >>> > > > > -- > Matt Sicker <[email protected]>
