On Aug 17, 2013, at 1:54 AM, Ralph Goers wrote:
> That doesn't really help much. I find the syntax below oddly annoying. What
> is strange is that I don't really mind it when there is only a single '-'
> character but when there is more than one I find it irritating - especially
> with size-based-triggering-policy. I can't tell you how many times I hit '='
> instead of '-' when typing it.
Well there's an easy and obvious solution to THAT. Switch to Dvorak. You won't
accidentally hit = instead of - then. QWERTY sucks. ;-)
> <configuration status="warn" name="XMLConfigTest"
> packages="org.apache.logging.log4j.test">
> <properties>
> <property name="filename">target/rolling1/rollingtest.log</Property>
> </properties>
> <threshold-filter level="debug"/>
>
> <appenders>
> <console name="STDOUT">
> <pattern-layout pattern="%m%n"/>
> </console>
> <rolling-file name="RollingFile" file-name="${filename}"
>
> file-pattern="target/rolling1/test1-$${date:MM-dd-yyyy}-%i.log.gz">
> <pattern-layout>
> <pattern>%d %p %C{1.} [%t] %m%n</pattern>
> </pattern-layout>
> <size-based-triggering-policy size="500" />
> </rolling-file>
> <list name="List">
> <threshold-filter level="error"/>
> </list>
> </appenders>
>
> <loggers>
> <logger name="org.apache.logging.log4j.test1" level="debug"
> additivity="false">
> <thread-context-map-filter>
> <key-value-pair key="test" value="123"/>
> </thread-context-map-filter>
> <appender-ref ref="STDOUT"/>
> </logger>>
>
> <logger name="org.apache.logging.log4j.core.appender.rolling"
> level="debug" additivity="false">
> <appender-ref ref="RollingFile"/>
> </logger>>
>
> <root level="error">
> <appender-ref ref="STDOUT"/>
> </root>
> </loggers>
>
> </configuration>
See I think this is glorious.
> On Aug 16, 2013, at 11:41 PM, Nick Williams wrote:
>
>> Or we could just make them all hyphenated, which is my preference. Then we
>> avoid the stripping you detest and the errors you're afraid our users will
>> commit. :-)
>>
>> Nick
>>
>> On Aug 17, 2013, at 1:38 AM, Ralph Goers 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
>>>>>> <[email protected]> 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 <[email protected]>
>>>>>>> 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
>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>> On Fri, Aug 16, 2013 at 2:28 PM, Scott Deboy <[email protected]>
>>>>>>>>>> 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 <[email protected]> wrote:
>>>>>>>>>> > On Fri, Aug 16, 2013 at 1:13 PM, Ralph Goers
>>>>>>>>>> > <[email protected]>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 <[email protected]>
>>>>>>>>>> >>> 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
>>>>>>>>>> >>> <[email protected]>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
>>>>>>>>>> >>> <[email protected]>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, [email protected] wrote:
>>>>>>>>>> >>>
>>>>>>>>>> >>> > Modified:
>>>>>>>>>> >>> logging/log4j/log4j2/trunk/core/src/test/resources/log4j2-config.xml
>>>>>>>>>> >>> > URL:
>>>>>>>>>> >>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> E-Mail: [email protected] | [email protected]
>>>>>> 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
>>>>>
>>>>
>>>
>>
>