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