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: >>> >>> >>> <http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/resources/log4j2-config.xml?rev=1514021&r1=1514020&r2=1514021&view=diff> >>> >>> >> >> > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > Java Persistence with Hibernate, Second > Edition<http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > 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<http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory