I am fine with DIAG.  I had always thought INFO was the abbreviation for 
INFORMATIONAL, which is way too long.

Ralph

> On Jan 22, 2014, at 6:21 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
>> On Wed, Jan 22, 2014 at 1:33 AM, Ralph Goers <ralph.go...@dslextreme.com> 
>> wrote:
>> First, I assume you meant to code “implements LogLevelStrength” instead of 
>> “extends LogLevelStrength” since an enum already implicitly extends Enum and 
>> a Class (or Enum) can’t extend an Interface. 
>> 
>> Second, doing this would mean that the Log4j 2 core would have to be 
>> modified to never use the Level enum and only use the Interface, except 
>> perhaps in ThresholdFilter which can really only be configured with one of 
>> the Level enum values. Not being able to use Level as a method parameter and 
>> field in the LogEvent makes its value as an enum minimal. Only being able to 
>> use Level values in the ThresholdFilter means anyone with a custom Level has 
>> to write their own custom Level Filter.
>> 
>> I think providing the extra levels is a fair compromise.
>  
> I am in agreement with Ralph. 
> 
> I created LOG4J-508 (new levels) and LOG4J-507 (space level ints by 100) to 
> track this for the release notes. SVN has the new levels in now.
> 
> Before the new Logger methods roll in I thought we could finalize our choice 
> of the DIAG level name. The names NOTICE and VERBOSE feel pretty good to me 
> and are 'standard' in the sense that other systems and command lines make use 
> of the terms (as mentioned elsewhere in the thread).
> 
> Right now, we have DIAG in SVN which could also be DIAGNOSTIC. DIAGNOSTIC 
> would be our longest name; we do have precedent for abbreviation: we have 
> WARN instead of WARNING. There is also DIAGNOSIS. Using DIAG would get devs 
> choose the variant in conversation. We could of course not abbreviate 
> anything and rename WARN to WARNING or INFO to INFORM for example, making all 
> the levels either verbs or nouns, but not a mix.
> 
> Gary
> 
>> 
>> Ralph
>> 
>> 
>>> On Jan 21, 2014, at 8:50 AM, Paul Benedict <pbened...@apache.org> wrote:
>>> 
>>> Or if you really want to get fancy (!!!), don't make the log4j API accept 
>>> an Level, but an interface that each logging level Enum object implements. 
>>> Then programmers can use enums. Example:
>>> 
>>> 
>>> public interface LogLevelStrength {
>>>   int getStrength();
>>> }
>>> 
>>> public enum Level extends LogLevelStrength {
>>>   FATAL() {
>>>     public int getStrength() { return 600; }
>>>  }
>>>  ...  
>>> }
>>> 
>>> public enum MyCustomLevel extends LogLevelStrength {
>>>   DIAGNOSTIC() {
>>>     public int getStrength() { return 250; }
>>>  }
>>>  ...  
>>> }
>>> 
>>> 
>>> 
>>>> On Tue, Jan 21, 2014 at 10:45 AM, Paul Benedict <pbened...@apache.org> 
>>>> wrote:
>>>> It won't be possible with an enum, yes, but we should have a way to allow 
>>>> extensions. For example, if we publically document the integer level of 
>>>> the enums (separated by 100), then we can provide an overload that accepts 
>>>> an integer. That's how you can allow people to slide in their extensions. 
>>>> Philospohy: enums for the standard, ints for the custom programmer.
>>>> 
>>>> Paul
>>>> 
>>>> 
>>>>> On Tue, Jan 21, 2014 at 10:42 AM, Gary Gregory <garydgreg...@gmail.com> 
>>>>> wrote:
>>>>>> On Tue, Jan 21, 2014 at 11:33 AM, Paul Benedict <pbened...@apache.org> 
>>>>>> wrote:
>>>>>>> On Tue, Jan 21, 2014 at 10:25 AM, Ralph Goers 
>>>>>>> <ralph.go...@dslextreme.com> wrote:
>>>>>>> 
>>>>>>> I tend to agree that there is ambiguity between TRACE and VERBOSE, but 
>>>>>>> I have no problem adding it if it means end users will have more 
>>>>>>> flexibility with little cost.
>>>>>> 
>>>>>> I think this is meaningless flexibility. It smells of adding a feature 
>>>>>> without a good reason. Imagine the conversations people will have to 
>>>>>> explain the difference between TRACE and VERBOSE. I can't think of any 
>>>>>> good universal justification for its use that demands an addition to 
>>>>>> log4j.
>>>>> 
>>>>> If you do not like it, do not use it ;)  
>>>>> 
>>>>>> This is best reserved for a personal extension.
>>>>> 
>>>>> Which is not possible since Level is an enum, hence this discussion 
>>>>> before the API freezes.
>>>>> 
>>>>> Gary 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org 
>>>>> Java Persistence with Hibernate, Second Edition
>>>>> JUnit in Action, Second Edition
>>>>> Spring Batch in Action
>>>>> Blog: http://garygregory.wordpress.com 
>>>>> Home: http://garygregory.com/
>>>>> Tweet! http://twitter.com/GaryGregory
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Cheers,
>>>> Paul
>>> 
>>> 
>>> 
>>> -- 
>>> Cheers,
>>> Paul
> 
> 
> 
> -- 
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org 
> Java Persistence with Hibernate, Second Edition
> JUnit in Action, Second Edition
> Spring Batch in Action
> Blog: http://garygregory.wordpress.com 
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory

Reply via email to