I agree.

Ralph

> On Aug 19, 2017, at 11:43 AM, Matt Sicker <boa...@gmail.com> wrote:
> 
> Canonical name sounds like it makes sense. I wonder what that evaluates to
> in other JVM languages like Scala, Kotlin, Clojure, etc., but it seems to
> make sense.
> 
> On 19 August 2017 at 13:23, Dominik Psenner <dpsen...@gmail.com> wrote:
> 
>> To me it is a simple and good solution to the problem. The first outlined
>> solution has the pro that it would give a user more sophisticated ways to
>> build logger hierarchies from class names, but it is also something that
>> only a very small subset of users would use. We can keep that as a wish for
>> later.
>> 
>> 2017-08-19 20:13 GMT+02:00 Gary Gregory <garydgreg...@gmail.com>:
>> 
>>> Any opposition to using the canonical name?
>>> 
>>> Gary
>>> 
>>> On Aug 14, 2017 15:28, "Gary Gregory" <garydgreg...@gmail.com> wrote:
>>> 
>>>> In LogManager, if we call getCanonicalName() instead of getName(), we
>>> only
>>>> get "."s, no "$"s...
>>>> 
>>>> How about that?
>>>> 
>>>> Gary
>>>> 
>>>> On Mon, Aug 14, 2017 at 3:24 PM, Gary Gregory <garydgreg...@gmail.com>
>>>> wrote:
>>>> 
>>>>> Another way to look at this is that instead of calling class.getName()
>>> we
>>>>> would call our own toLoggerName(Class) which would NOT use $ but only
>>> use
>>>>> "."s.
>>>>> 
>>>>> Gary
>>>>> 
>>>>> On Mon, Aug 14, 2017 at 3:07 PM, Matt Sicker <boa...@gmail.com>
>> wrote:
>>>>> 
>>>>>> The logger name hierarchy interpretation is handled at the string
>>> level,
>>>>>> not the class level. I don't think the class needs to be passed along
>>> as
>>>>>> there isn't much useful info we can get from the Class instance that
>> we
>>>>>> can't already figure out from its FQCN.
>>>>>> 
>>>>>> On 14 August 2017 at 15:56, Ralph Goers <ralph.go...@dslextreme.com>
>>>>>> wrote:
>>>>>> 
>>>>>>> 
>>>>>>>> On Aug 14, 2017, at 1:38 PM, Gary Gregory <
>> garydgreg...@gmail.com>
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> On Mon, Aug 14, 2017 at 2:08 PM, Ralph Goers <
>>>>>> ralph.go...@dslextreme.com
>>>>>>> <mailto:ralph.go...@dslextreme.com>>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Aug 14, 2017, at 11:49 AM, Gary Gregory <
>>> garydgreg...@gmail.com
>>>>>>> 
>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> On Mon, Aug 14, 2017 at 12:35 PM, Gary Gregory <
>>>>>> garydgreg...@gmail.com
>>>>>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Probably for Ralph:
>>>>>>>>>>> 
>>>>>>>>>>> Right now, it's the LogManager in log4j-api that converts
>> Class
>>>>>> names
>>>>>>>>> into
>>>>>>>>>>> Logger names.
>>>>>>>>>>> 
>>>>>>>>>>> There is no getLogger(Class) API in the Core LoggerContext.
>>>>>>>>>>> 
>>>>>>>>>>> Should we push down this conversion into Core's LoggerContext?
>>>>>>>>>>> 
>>>>>>>>>>> It seems the sane thing to do to:
>>>>>>>>>>> - Avoid making something pluggable in log4j-api
>>>>>>>>>>> - Avoid making Core parse logger names looking for separators.
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> But that would mean adding two methods to:
>>>>>>>>>> 
>>>>>>>>>> org.apache.logging.log4j.spi.LoggerContext:
>>>>>>>>>> 
>>>>>>>>>> org.apache.logging.log4j.spi.LoggerContext.getLogger(Class<?>)
>>>>>>>>>> org.apache.logging.log4j.spi.LoggerContext.getLogger(Class<?>,
>>>>>>>>>> MessageFactory)
>>>>>>>>>> 
>>>>>>>>>> Thoughts?
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Why does it mean that?
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> If we want the core to implement converting Class names to Logger
>>>>>> names,
>>>>>>>> the Class must be passed down to the Core. Right now the
>> LogManager
>>>>>> does
>>>>>>>> that by calling org.apache.logging.log4j.spi.LoggerContext
>>> methods.
>>>>>>> These
>>>>>>>> methods take only String for the logger name.
>>>>>>> 
>>>>>>> And that is a problem becauseā€¦.?  I am trying to understand why
>>>>>>> LoggerContext will be required to accept a class name.
>>>>>>> 
>>>>>>> Ralph
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> 
>> 
>> --
>> Dominik Psenner
>> 
> 
> 
> 
> -- 
> Matt Sicker <boa...@gmail.com>


Reply via email to