[logback-user] logging arrays?

Thorbjoern Ravn Andersen ravn at runjva.com
Mon Nov 2 23:55:59 CET 2009


Jeff Jensen skrev:
> Not sure about that...  To share the issue, I just created a small test case
> that exhibits the behavior; the files are attached.
>
> Just run the test class - you will see an int[] works fine, but a Type[]
> obtained from reflection does not.
>
> I'm stumped...
> Needs a debug session into logback code which I'm pressed to do ATM.
>
>   
I can reproduce your description. 

23:48:28.486 [main] DEBUG logback.LogArrayTest - the array=[1, 2, 3, 4, 
5, 6, 7, 8]
23:48:28.559 [main] DEBUG logback.ParameterizedTypeTestClass - 
genericSuperClass=logback.ParameterizedTypeTestClass<java.lang.Long, 
java.lang.Object>
23:48:28.559 [main] DEBUG logback.ParameterizedTypeTestClass - 
ActualTypeArguments=class java.lang.Long
23:48:28.560 [main] DEBUG logback.ParameterizedTypeTestClass - 
ActualTypeArguments array count=2
23:48:28.560 [main] DEBUG logback.ParameterizedTypeTestClass - 
type=class java.lang.Long
23:48:28.560 [main] DEBUG logback.ParameterizedTypeTestClass - 
type=class java.lang.Object

The tricky code is:

        Type[] types = genericSuperClass.getActualTypeArguments();
        LOG.debug("ActualTypeArguments={}", types);
        // only displays the first element:
        // ActualTypeArguments=class java.lang.Long

        LOG.debug("ActualTypeArguments array count={}", types.length);
        for (Type type : types) {
            LOG.debug("type={}", type);
        }

This is with slf4j 1.5.8 and logback 0.9.15

-- 
  Thorbjørn Ravn Andersen  "...plus... Tubular Bells!"



More information about the Logback-user mailing list