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