public <E extends Enum<?>> CLocLogger<E> getClassLogger(int i) {
        if (i < 0) {
            throw new IllegalArgumentException("Expected value >= 0, got " + i);
        }
        return getLogger(slfLogger(i+1));
    }
public < E extends Enum < ? > > CLocLogger < E > getClassLogger ( int i ) { if ( i < 0 ) { throw new IllegalArgumentException ( "Expected value >= 0, got " + i ) ; } return getLogger ( slfLogger ( i + 1 ) ) ; }
Chooses a logger based on the class name of the caller of this method.
{@code i == 0} identifies the caller of this method, for {@code i > 0},
the stack is walked upwards.
@param i
@return a logger