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]>

Reply via email to