I had a look at the code and it may not be easy to make changes. Can we go back 
a step and can you explain what you're trying to achieve? (What do you want to 
change & why?)

Sent from my iPhone

> On 2014/05/26, at 9:08, Matt Sicker <[email protected]> wrote:
> 
> Actually, that still leaves the problem of specifying a Configuration for the 
> DefaultConfigurationLayout. PatternLayout is final right now, and the default 
> pattern is "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n".
> 
> 
>> On 25 May 2014 19:03, Matt Sicker <[email protected]> wrote:
>> That sounds like a better idea. Let me see how well it works out in code.
>> 
>> 
>>> On 25 May 2014 18:52, Remko Popma <[email protected]> wrote:
>>> Perhaps DefaultConfigurationLayout would be a better name for such a 
>>> layout, actually. 
>>> 
>>> 
>>>> On Monday, May 26, 2014, Remko Popma <[email protected]> wrote:
>>>> How about having a DefaultLayout for use *only* by DefaultConfiguration? 
>>>> The formatters used by this layout can be hard-coded: level, timestamp, 
>>>> message. 
>>>> Thoughts?
>>>> 
>>>> Sent from my iPhone
>>>> 
>>>>> On 2014/05/26, at 8:38, Matt Sicker <[email protected]> wrote:
>>>>> 
>>>>> So DefaultConfiguration creates a PatternLayout, but PatternLayout takes 
>>>>> a Configuration. I thought it would help prevent NPEs using a 
>>>>> DefaultConfiguration as the default, but then upon trying that, I found 
>>>>> myself in an infinite recursion of constructors!
>>>>> 
>>>>> In order to provide a default, we have a few options:
>>>>> 
>>>>> 1. Use NullConfiguration by default. Problem is, this basically means 
>>>>> "ignore all logging calls".
>>>>> 
>>>>> 2. Lazily create the DefaultConfiguration if configuration is null at 
>>>>> build() time.
>>>>> 
>>>>> 3. Leak "this" from the DefaultConfiguration constructor into the 
>>>>> PatternLayout used for the default ConsoleAppender which is used as the 
>>>>> default appender on the root logger. It's not pure, but sometimes you do 
>>>>> need to leak an object before it's been fully constructed.
>>>>> 
>>>>> 4. Add another attribute to disable setting a Configuration. I don't like 
>>>>> this option as it introduces extra complexity and doesn't solve the 
>>>>> problem of having a null config (and not a NullConfiguration).
>>>>> 
>>>>> Right now, I'm leaning toward 2 and 3 combined.
>>>>> 
>>>>> -- 
>>>>> Matt Sicker <[email protected]>
>> 
>> 
>> 
>> -- 
>> Matt Sicker <[email protected]>
> 
> 
> 
> -- 
> Matt Sicker <[email protected]>

Reply via email to