Yup. You are correct that the mixed case does allow something just as stupid.

Yes, attributes are also case insensitive. See BaseConfiguration.getAttrValue().

Ralph

On Aug 16, 2013, at 11:48 PM, Gary Gregory wrote:

> Dancing angels and pin heads: 
> 
> Yep, the patch I provided allows for <a-p-p-e-n-d-e-r-r-e-f r-e-f="Console"/> 
> but the point is that is allows <appender-ref ref="Console>
> 
> But! the current code also allows <ApPeNdeRrEf ref="Console/>
> 
> How is that any better/worse, more/less confusing?
> 
> BTW, are attributes also case-insensitive? <ApPeNdeRrEf ReF="Console/>
> 
> Gary
> 
> 
> 
> On Sat, Aug 17, 2013 at 2:38 AM, Ralph Goers <ralph.go...@dslextreme.com> 
> wrote:
> OK.  In general I guess I agree with your philosophy.  However, I consider 
> stripping/ignoring hyphens bad because then <a-p-p-e-n-d-e-r-r-e-f 
> r-e-f="Console"/> becomes valid.  The ONLY reason I wanted aliases is because 
> I really believe users who are used to the "other" logging frameworks are 
> constantly going to screw up and do <appender-ref ref="abc"/> instead of 
> <AppenderRef ref="abc"/> simply because they are used to it.  However, if my 
> choice is between stripping or leaving it the way it is then I vote to leave 
> it the way it is.  Again, I just detest the idea of stripping hyphens.
> 
> Ralph
> 
> On Aug 16, 2013, at 11:28 PM, Nick Williams wrote:
> 
>> Alright. Time to chime in I suppose, since I'm being quoted now. :-)
>> 
>> I like consistency. I like the same rules to apply to all parts of the 
>> configuration. For example:
>> 
>> - If we decide that an element should be PascalCase, then they should ALL be 
>> PascalCase.
>> - If we decide that an attribute should be camelCase, then they should ALL 
>> be camelCase.
>> - If we decide that an element and/or attribute should be case-insensitive, 
>> then ALL elements AND attributes should be case-insensitive.
>> - If we decide that an element and/or attribute should allow hyphens between 
>> words, then ALL elements AND attributes should allow hyphens between words.
>> 
>> This last one is a key point here. Providing aliases would not be a sane way 
>> to do this, because what if a developer added an attribute but forgot to 
>> create a hyphenated alias? Suddenly, all elements and attributes would allow 
>> hyphenation—except that one attribute. This is a consistency failure.
>> 
>> I'm not arguing against aliases, necessarily. I just think they're a Bad way 
>> to solve the hyphenation dispute (yes, capital Bad). With the hyphenation 
>> issue solved otherwise (either by disallowing hyphens or by stripping 
>> hyphens automatically), I no longer see a compelling need for aliases. The 
>> addition of aliases also makes the task for users of extending Log4j / 
>> writing plugins for Log4j more confusing.
>> 
>> If I had to chose what we were going to do here, these are my 
>> preferences/priorities, in order from most important to least important:
>> 
>> - Consistency, consistency, consistency.
>> - A strict schema that must be validated against for the Log4j configuration 
>> to work. No case insensitivity, no stripping of hyphens.
>> - All lowercase, hyphenated elements AND attributes. No PascalCase, no 
>> camelCase.
>> - camelCase elements AND camelCase attributes.
>> - PascalCase elements AND PascalCase attributes.
>> 
>> Nick
>> 
>> On Aug 17, 2013, at 1:14 AM, Ralph Goers wrote:
>> 
>>> On Aug 10 Nick said "I actually really like hyphenated attributes, but I 
>>> like consistency better.".  However, that doesn't imply that he is going to 
>>> like allowing '-' to appear anywhere and be stripped out.  Providing 
>>> aliases would be a more sane way to do that.
>>> 
>>> Ralph
>>> 
>>> 
>>> 
>>> On Aug 16, 2013, at 10:57 PM, Gary Gregory wrote:
>>> 
>>>> On Sat, Aug 17, 2013 at 1:44 AM, Ralph Goers <ralph.go...@dslextreme.com> 
>>>> wrote:
>>>> So far yours is the only vote for that.  Anyone else?
>>>> 
>>>> Whomever else mentioned it in the first place! ;) I can't recall who... 
>>>> but it's 2am here...
>>>> G
>>>> 
>>>> Ralph
>>>> 
>>>> On Aug 16, 2013, at 10:19 PM, Gary Gregory wrote:
>>>> 
>>>>> I think we should do both. 
>>>>> 
>>>>> Gary
>>>>> 
>>>>> On Aug 16, 2013, at 21:59, Ralph Goers <ralph.go...@dslextreme.com> wrote:
>>>>> 
>>>>>> Easily done, assuming we have consensus.   I am hearing two options:
>>>>>> 1) strip '-' characters from element names.
>>>>>> 2) allow aliases for element names.
>>>>>> 
>>>>>> These are not mutually exclusive.  I see no reason not to go ahead with 
>>>>>> number 2 and we can continue to discuss where else number 1 might be 
>>>>>> used.
>>>>>> 
>>>>>> Ralph
>>>>>> 
>>>>>> On Aug 16, 2013, at 2:21 PM, Remko Popma wrote:
>>>>>> 
>>>>>>> Ralph,
>>>>>>> Don't forget the error-ref attribute for AsyncAppender. 
>>>>>>> 
>>>>>>> Remko
>>>>>>> 
>>>>>>> On Saturday, August 17, 2013, Ralph Goers wrote:
>>>>>>> I'm not in favor of just allowing arbitrary '-' characters wherever 
>>>>>>> users want. But allowing aliases makes it possible to allow for 
>>>>>>> variations.  I already have this working.
>>>>>>> 
>>>>>>> Ralph
>>>>>>> 
>>>>>>> 
>>>>>>> On Aug 16, 2013, at 11:39 AM, Gary Gregory wrote:
>>>>>>> 
>>>>>>>> On Fri, Aug 16, 2013 at 2:38 PM, Gary Gregory <garydgreg...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>> On Fri, Aug 16, 2013 at 2:28 PM, Scott Deboy <scott.de...@gmail.com> 
>>>>>>>> wrote:
>>>>>>>> I'm not sure if this ship has fully sailed, but I'd prefer to see us
>>>>>>>> stick with he dash format due to folks being familiar with it from
>>>>>>>> log4j 1.
>>>>>>>> 
>>>>>>>> That's a thin argument IMO considering you'll have to read the version 
>>>>>>>> 2 config docs to get off the ground anyway, even if you know your way 
>>>>>>>> around version 1. 
>>>>>>>> 
>>>>>>>> And this is also an opportunity to make our config code even fancier 
>>>>>>>> by normalizing '-' chars ;)
>>>>>>>> 
>>>>>>>> Gary
>>>>>>>>  
>>>>>>>> 
>>>>>>>> Gary
>>>>>>>>  
>>>>>>>> 
>>>>>>>> Scott
>>>>>>>> 
>>>>>>>> On 8/16/13, Gary Gregory <garydgreg...@gmail.com> wrote:
>>>>>>>> > On Fri, Aug 16, 2013 at 1:13 PM, Ralph Goers
>>>>>>>> > <ralph.go...@dslextreme.com>wrote:
>>>>>>>> >
>>>>>>>> >> I'm adding an aliases attribute to the Plugin annotation.
>>>>>>>> >>
>>>>>>>> >
>>>>>>>> > Hold on to your horses ;)
>>>>>>>> >
>>>>>>>> > Another way to look at this is that our config parsing that is 
>>>>>>>> > already
>>>>>>>> > case-insensitive could be augmented to strip out "-"s, no aliases 
>>>>>>>> > needed.
>>>>>>>> >
>>>>>>>> > As someone pointed out here, some folks like-to-talk-like-this (see 
>>>>>>>> > JPA).
>>>>>>>> >
>>>>>>>> > Gary
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >>
>>>>>>>> >> On Aug 16, 2013, at 6:38 AM, Remko Popma wrote:
>>>>>>>> >>
>>>>>>>> >> Maybe we just need another plugin for the 2nd name then. Subclass or
>>>>>>>> >> delegate?
>>>>>>>> >>
>>>>>>>> >> On Friday, August 16, 2013, Ralph Goers wrote:
>>>>>>>> >>
>>>>>>>> >>> I had the same thought. People switching from log4j 1 or logback 
>>>>>>>> >>> will
>>>>>>>> >>> probably make that mistake a lot. Plus this breaks virtually 
>>>>>>>> >>> everyone
>>>>>>>> >>> currently using Log4j 2.  The problem is that I don't think there 
>>>>>>>> >>> is
>>>>>>>> >>> currently a way for a plugin to have 2 names.
>>>>>>>> >>>
>>>>>>>> >>> Sent from my iPad
>>>>>>>> >>>
>>>>>>>> >>> On Aug 16, 2013, at 6:03 AM, Remko Popma <remko.po...@gmail.com> 
>>>>>>>> >>> wrote:
>>>>>>>> >>>
>>>>>>>> >>> Would it be an idea to support both appender-ref and appenderRef
>>>>>>>> >>> attributes?
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>> On Thu, Aug 15, 2013 at 10:22 AM, Gary Gregory
>>>>>>>> >>> <garydgreg...@gmail.com>wrote:
>>>>>>>> >>>
>>>>>>>> >>> I never thought that Log4J 2 configuration files should be backward
>>>>>>>> >>> compatible with version 1, and even less so with a different 
>>>>>>>> >>> product.
>>>>>>>> >>>
>>>>>>>> >>> Gary
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>> On Wed, Aug 14, 2013 at 8:51 PM, Ralph Goers
>>>>>>>> >>> <ralph.go...@dslextreme.com>wrote:
>>>>>>>> >>>
>>>>>>>> >>> Now that I see this it kind of scares me.  Log4j 1.x and Logback 
>>>>>>>> >>> both
>>>>>>>> >>> use
>>>>>>>> >>> appender-ref. Anyone using Log4j 2 will now be broken.
>>>>>>>> >>>
>>>>>>>> >>> On Aug 14, 2013, at 1:05 PM, ggreg...@apache.org wrote:
>>>>>>>> >>>
>>>>>>>> >>> > Modified:
>>>>>>>> >>> logging/log4j/log4j2/trunk/core/src/test/resources/log4j2-config.xml
>>>>>>>> >>> > URL:
>>>>>>>> >>>
>>>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 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
>>> 
>> 
> 
> 
> 
> 
> -- 
> 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