With xml, you'd wrap all <property ...> tags in a <properties> encapsulating 
list element, but perhaps that is not needed in this format?

So, instead of:
log4j2.properties.property.key=value
we could have:
log4j2.property.key=value

Also (and this is just a matter of taste), can we use "appender" and "logger" 
instead of the plural "appenders"/"loggers"?

What would the config for a root logger look like?

One more thing: do we still need the .name attribute?
This seems a bit redundant:
log4j2.appender.File.name=File
Perhaps better to remove it so we won't have to deal with cases like this:
log4j2.appender.File.name=NotFile

Sent from my iPhone

> On 2014/06/09, at 8:02, Matt Sicker <[email protected]> wrote:
> 
> I was thinking about that. It would make sense.
> 
> I'm trying to figure out how to do this generically so that special cases 
> don't need to be created. This file format is very limited, that's for sure.
> 
> 
>> On 8 June 2014 17:10, Ralph Goers <[email protected]> wrote:
>> One thing you could do is remove the type attribute by doing:
>> log4j2.appenders.STDOUT=Console
>> Ralph
>> 
>>> On Jun 8, 2014, at 1:57 PM, Matt Sicker <[email protected]> wrote:
>>> 
>>> https://paste.apache.org/e4m6
>>> 
>>> Damn quick fingers.
>>> 
>>> 
>>>> On 8 June 2014 15:57, Matt Sicker <[email protected]> wrote:
>>>> Actually, what I'm trying to do first is convert the log4j-test1 file into 
>>>> a properties file before going anywhere with this. Basically, it'll have 
>>>> to be more like the XML strict format. Here's how I've converted it (as 
>>>> you can see, this file format sucks):
>>>> 
>>>> 
>>>> 
>>>>> On 8 June 2014 15:20, Matt Sicker <[email protected]> wrote:
>>>>> So far it's awkward, but so was the original format.
>>>>> 
>>>>> 
>>>>>> On 8 June 2014 15:07, Paul Benedict <[email protected]> wrote:
>>>>>> Ooops. Yes, XSL. The use of the XSL is to show that it's really possible 
>>>>>> to convert an XML file into a flat file that's useable. 
>>>>>> 
>>>>>> 
>>>>>> Cheers,
>>>>>> Paul
>>>>>> 
>>>>>> 
>>>>>>> On Sun, Jun 8, 2014 at 2:40 PM, Matt Sicker <[email protected]> wrote:
>>>>>>> Of course XML is the better format. Like I said, I don't even use the 
>>>>>>> properties file format. However, plenty of people still do, so it seems 
>>>>>>> beneficial to allow it in some form.
>>>>>>> 
>>>>>>> Do you mean an XSL file?
>>>>>>> 
>>>>>>> 
>>>>>>>> On 8 June 2014 14:21, Paul Benedict <[email protected]> wrote:
>>>>>>>> I still think XML is a better format. But if you do allow property 
>>>>>>>> files, consider first an XSD file that converts XML to properties. 
>>>>>>>> Because if you can accomplish that, you will have proven to yourself 
>>>>>>>> that the property file can represent everything an XML file can.
>>>>>>>> 
>>>>>>>>> On Jun 8, 2014 2:00 PM, "Matt Sicker" <[email protected]> wrote:
>>>>>>>>> I'm only working on this because it sounds interesting and has been 
>>>>>>>>> requested by several people. I personally never use this file format 
>>>>>>>>> in Log4j 1, so I'm not entirely sure on how to best maintain 
>>>>>>>>> compatibility or similarity to the old format.
>>>>>>>>> 
>>>>>>>>> The technical side of parsing a flat properties map into a tree of 
>>>>>>>>> Nodes isn't that difficult. I'm sure we all took data structures at 
>>>>>>>>> some point in our lives ;)
>>>>>>>>> 
>>>>>>>>> Due to the limitations of properties files, the format has to be 
>>>>>>>>> slightly different than the usual hierarchy used in all the other 
>>>>>>>>> formats. The key difference I'd say is that instead of the "name" 
>>>>>>>>> attribute used on all the appenders and loggers, the name would be 
>>>>>>>>> the child "node" of the appenders element. For instance:
>>>>>>>>> 
>>>>>>>>> appenders.Name.attribute = ...
>>>>>>>>> appenders.Name.anotherAttribute = ...
>>>>>>>>> 
>>>>>>>>> Of course, the keys would be converted to lower case for case 
>>>>>>>>> insensitivity (which makes me think we could really use a 
>>>>>>>>> CaseInsensitiveHashMap or something).
>>>>>>>>> 
>>>>>>>>> The old format uses something more like:
>>>>>>>>> 
>>>>>>>>> log4j.appender.Name.attribute = ...
>>>>>>>>> 
>>>>>>>>> For consistency, I think this should be appenders, and we could use 
>>>>>>>>> "log4j2" as the prefix (or even "configuration" for ultimate 
>>>>>>>>> consistency). Thoughts?
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> Matt Sicker <[email protected]>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> Matt Sicker <[email protected]>
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Matt Sicker <[email protected]>
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Matt Sicker <[email protected]>
>>> 
>>> 
>>> 
>>> -- 
>>> Matt Sicker <[email protected]>
> 
> 
> 
> -- 
> Matt Sicker <[email protected]>

Reply via email to