You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/04/15 07:55:06 UTC

svn commit: r1587433 - in /logging/log4j/log4j2/trunk/log4j-core/src: main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java

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();
+            }
         }
     }
 



Re: svn commit: r1587433 - in /logging/log4j/log4j2/trunk/log4j-core/src: main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java

Posted by Remko Popma <re...@gmail.com>.
I see. Thanks!

Sent from my iPhone

> On 2014/04/16, at 12:36, Matt Sicker <bo...@gmail.com> 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 <re...@gmail.com> 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, <ma...@apache.org> 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 <bo...@gmail.com>

Re: svn commit: r1587433 - in /logging/log4j/log4j2/trunk/log4j-core/src: main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java

Posted by Matt Sicker <bo...@gmail.com>.
The second parameter is only used for casting. The updated log message
makes sense, though. Added.


On 15 April 2014 18:53, Remko Popma <re...@gmail.com> 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, <ma...@apache.org> 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 <bo...@gmail.com>

Re: svn commit: r1587433 - in /logging/log4j/log4j2/trunk/log4j-core/src: main/java/org/apache/logging/log4j/core/helpers/ClockFactory.java test/java/org/apache/logging/log4j/core/async/perftest/PerfTest.java

Posted by Remko Popma <re...@gmail.com>.
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, <ma...@apache.org> 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();
> +            }
>          }
>      }
>
>
>
>