Fixed it.

On 9 September 2014 18:08, Matt Sicker <[email protected]> wrote:

> Oh wait I see what the issue is. I tried to make getParent() throw an
> exception since it couldn't be supported with just log4j-api. However, JUL
> is designed so poorly that you can't do that. Fix incoming.
>
> On 9 September 2014 09:14, Matt Sicker <[email protected]> wrote:
>
>> Those methods should have an expect attribute on the @Test annotation.
>>
>>
>> On 9 September 2014 08:54, Gary Gregory <[email protected]> wrote:
>>
>>> With the latest I get:
>>>
>>> ApiLoggerTest
>>> org.apache.logging.log4j.jul.ApiLoggerTest
>>> testLogUsingCustomLevel(org.apache.logging.log4j.jul.ApiLoggerTest)
>>> java.lang.UnsupportedOperationException: Cannot get parent logger
>>> through log4j-api
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLogger.getParent(ApiLogger.java:122)
>>>
>>>     at
>>> java.util.logging.Logger.getEffectiveResourceBundleName(Logger.java:1697)
>>>
>>>     at java.util.logging.Logger.doLog(Logger.java:636)
>>>
>>>     at java.util.logging.Logger.log(Logger.java:664)
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLoggerTest.testLogUsingCustomLevel(ApiLoggerTest.java:88)
>>>
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>>     at java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>>>
>>>     at
>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>>>
>>>     at
>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>>>
>>>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>>>
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>>>
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>>>
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>>>
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>>>
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
>>>
>>>
>>>
>>> testLog(org.apache.logging.log4j.jul.ApiLoggerTest)
>>> java.lang.UnsupportedOperationException: Cannot get parent logger
>>> through log4j-api
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLogger.getParent(ApiLogger.java:122)
>>>
>>>     at
>>> java.util.logging.Logger.getEffectiveResourceBundleName(Logger.java:1697)
>>>
>>>     at java.util.logging.Logger.doLog(Logger.java:636)
>>>
>>>     at java.util.logging.Logger.log(Logger.java:664)
>>>
>>>     at java.util.logging.Logger.info(Logger.java:1182)
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLoggerTest.testLog(ApiLoggerTest.java:65)
>>>
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>>     at java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>>>
>>>     at
>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>>>
>>>     at
>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>>>
>>>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>>>
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>>>
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>>>
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>>>
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>>>
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
>>>
>>>
>>>
>>> testLogWithCallingClass(org.apache.logging.log4j.jul.ApiLoggerTest)
>>> java.lang.UnsupportedOperationException: Cannot get parent logger
>>> through log4j-api
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLogger.getParent(ApiLogger.java:122)
>>>
>>>     at
>>> java.util.logging.Logger.getEffectiveResourceBundleName(Logger.java:1697)
>>>
>>>     at java.util.logging.Logger.doLog(Logger.java:636)
>>>
>>>     at java.util.logging.Logger.log(Logger.java:664)
>>>
>>>     at java.util.logging.Logger.config(Logger.java:1198)
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLoggerTest.testLogWithCallingClass(ApiLoggerTest.java:79)
>>>
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>>     at java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>>>
>>>     at
>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>>>
>>>     at
>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>>>
>>>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>>>
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>>>
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>>>
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>>>
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>>>
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
>>>
>>>
>>>
>>> testGlobalLogger(org.apache.logging.log4j.jul.ApiLoggerTest)
>>> java.lang.UnsupportedOperationException: Cannot get parent logger
>>> through log4j-api
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLogger.getParent(ApiLogger.java:122)
>>>
>>>     at
>>> java.util.logging.Logger.getEffectiveResourceBundleName(Logger.java:1697)
>>>
>>>     at java.util.logging.Logger.doLog(Logger.java:636)
>>>
>>>     at java.util.logging.Logger.log(Logger.java:664)
>>>
>>>     at java.util.logging.Logger.info(Logger.java:1182)
>>>
>>>     at
>>> org.apache.logging.log4j.jul.ApiLoggerTest.testGlobalLogger(ApiLoggerTest.java:117)
>>>
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>>     at java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>>>
>>>     at
>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>
>>>     at
>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>>>
>>>     at
>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>>>
>>>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>>>
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>>>
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>>>
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>>>
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>>>
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>>>
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>>>
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
>>>
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
>>>
>>> Gary
>>>
>>> --
>>> E-Mail: [email protected] | [email protected]
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>>
>> --
>> Matt Sicker <[email protected]>
>>
>
>
>
> --
> Matt Sicker <[email protected]>
>



-- 
Matt Sicker <[email protected]>

Reply via email to