I can do it but it won't be for another 8 hrs or so. If you need it sooner go 
ahead.

Sent from my iPad

> On Jan 28, 2014, at 9:00 AM, Remko Popma <remko.po...@gmail.com> wrote:
> 
> Who will make this change (getOrCreateLevel -> forName) ?
> I'm asking because I'm calling this method in the generated wrapper source 
> code...
> 
> 
>> On Mon, Jan 27, 2014 at 12:55 PM, Nick Williams 
>> <nicho...@nicholaswilliams.net> wrote:
>> Okay. I'm good with "forName," then.
>> 
>> N
>> 
>>> On Jan 26, 2014, at 9:51 PM, Ralph Goers wrote:
>>> 
>>> I disagree - you are getting the Level that matches the name, so forName 
>>> does describe what is happening.
>>> 
>>> See the Javadoc on the second question.  The intValue is ignored unless the 
>>> Level is created.  Yes, that could lead to some problems if there are 
>>> conflicts, but I think returning the registered level is better than 
>>> throwing an exception.
>>> 
>>> Ralph
>>> 
>>>> On Jan 26, 2014, at 7:46 PM, Nick Williams <nicho...@nicholaswilliams.net> 
>>>> wrote:
>>>> 
>>>> Level.forName wouldn't work--it's not just "for name," it's for the name 
>>>> /and/ the level. But it must be unique by the name.
>>>> 
>>>> For that matter, what are we to do in the following situation?
>>>> 
>>>>     Level.getOrCreate("DIAG", 150);
>>>>     ...
>>>>     Level.getOrCreate("DIAG", 250);
>>>> 
>>>> They're not going to get what they expect in both cases.
>>>> 
>>>> Nick
>>>> 
>>>>> On Jan 26, 2014, at 9:28 PM, Matt Sicker wrote:
>>>>> 
>>>>> How about Level.forName()?
>>>>> 
>>>>> 
>>>>>> On 26 January 2014 21:06, Ralph Goers <ralph.go...@dslextreme.com> wrote:
>>>>>> No objections on spawning a separate thread for discussion 2. 
>>>>>> 
>>>>>> I also am not in love with the method name but it does describe what it 
>>>>>> does.  If anyone has any ideas on a better name please suggest it (we 
>>>>>> are talking about the getOrCreateLevel method name).
>>>>>> 
>>>>>> Ralph
>>>>>> 
>>>>>>> On Jan 26, 2014, at 6:59 PM, Nick Williams 
>>>>>>> <nicho...@nicholaswilliams.net> wrote:
>>>>>>> 
>>>>>>> There are two separate discussions going on here, so it's easy to get 
>>>>>>> lost. We should probably split discussions again.
>>>>>>> 
>>>>>>> Discussion 1: The finer details of custom levels. I'm fine with using a 
>>>>>>> static factory method and making the constructor private, but I'm not a 
>>>>>>> big fan of the name. Just sounds awkward. Unfortunately, I can't come 
>>>>>>> up with anything better.
>>>>>>> 
>>>>>>> Discussion 2: A wrapper / extended interface for logging using these 
>>>>>>> custom levels. Yes, Paul, users can just do this:
>>>>>>> 
>>>>>>> logger.log(MyCustomLevels.LEVEL1, "message");
>>>>>>> 
>>>>>>> That is already supported by making Level extensible. However, some on 
>>>>>>> the team have expressed a desire to make it even easier. Given 
>>>>>>> hypothetical custom levels DIAG and NOTE, the following would be a 
>>>>>>> "nice-to-have" as you call it:
>>>>>>> 
>>>>>>> logger.note("message");
>>>>>>> logger.diag("message");
>>>>>>> etc.
>>>>>>> 
>>>>>>> We're discussing options to make this possible. However, it is not a 
>>>>>>> requirement to enable custom levels. Custom levels are now already 
>>>>>>> possible.
>>>>>>> 
>>>>>>> Any objections to breaking discussion 2 off into another thread?
>>>>>>> 
>>>>>>> Nick
>>>>>>> 
>>>>>>>> On Jan 26, 2014, at 8:46 PM, Paul Benedict wrote:
>>>>>>>> 
>>>>>>>> I got lost in the discussion. Can someone please clarify... Is the 
>>>>>>>> custom logging interface a nice-to-have or a requirement of the system?
>>>>>>>> 
>>>>>>>> I was hoping simply someone could write this (pseudocode below):
>>>>>>>> logger.log(MyCustomLevels.LEVEL1, "message");
>>>>>>>> 
>>>>>>>> ...so no different interface should be required, right? Can't someone 
>>>>>>>> just pass in their log level directly without using one of the 
>>>>>>>> named-log-level convenience methods?
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Sun, Jan 26, 2014 at 8:37 PM, Matt Sicker <boa...@gmail.com> wrote:
>>>>>>>>> Now Level can't be used in an annotation. Since it supports string 
>>>>>>>>> names for levels, should I just use Level.toLevel?
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On 26 January 2014 19:55, Ralph Goers <ralph.go...@dslextreme.com> 
>>>>>>>>>> wrote:
>>>>>>>>>> I think I must be misunderstanding the part about “If those levels 
>>>>>>>>>> were added…”.  I don’t understand how a level can be added to a 
>>>>>>>>>> class from the config such that it is usable by a programmer at 
>>>>>>>>>> compile time.
>>>>>>>>>> 
>>>>>>>>>> Ralph
>>>>>>>>>> 
>>>>>>>>>>> On Jan 26, 2014, at 5:24 PM, Scott Deboy <scott.de...@gmail.com> 
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Couldn't we no-op instead of throw if the same identical level were 
>>>>>>>>>>> registered?
>>>>>>>>>>> 
>>>>>>>>>>> If those levels were then added to the same custom level class from 
>>>>>>>>>>> the config, could we use that single class in the logger calls?
>>>>>>>>>>>> On Jan 26, 2014 5:15 PM, "Ralph Goers" 
>>>>>>>>>>>> <ralph.go...@dslextreme.com> wrote:
>>>>>>>>>>>> I am certain I could create a LevelPlugin that would allow you to 
>>>>>>>>>>>> define one or more Levels in the configuration, but to use that 
>>>>>>>>>>>> Level the user would have to code:
>>>>>>>>>>>> 
>>>>>>>>>>>> logger.log(Level.toLevel(“DIAG”), “hello world”);
>>>>>>>>>>>> 
>>>>>>>>>>>> In order to directly reference the level it has to be declared as 
>>>>>>>>>>>> a static from somewhere and it can only be instantiated a single 
>>>>>>>>>>>> time, so creating it from the configuration will prevent that.
>>>>>>>>>>>> 
>>>>>>>>>>>> Ralph
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Jan 26, 2014, at 4:03 PM, Scott Deboy <scott.de...@gmail.com> 
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I have one goal: to remove my request for new built in levels by 
>>>>>>>>>>>>> allowing the levels to be defined strictly via configuration. I 
>>>>>>>>>>>>> agree there may be some hurdles but that's my goal.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I'd like to avoid the requirement that users provide their own 
>>>>>>>>>>>>> level implementation or use a different API.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Scott
>>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -- 
>>>>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> Cheers,
>>>>>>>> Paul
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Matt Sicker <boa...@gmail.com>
>>>> 
>>> 
>> 
> 

Reply via email to