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 <[email protected]>
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 <[email protected]> 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 <[email protected]>
>> wrote:
>>
>> >
>> > > On Aug 14, 2017, at 1:38 PM, Gary Gregory <[email protected]>
>> > wrote:
>> > >
>> > > On Mon, Aug 14, 2017 at 2:08 PM, Ralph Goers <
>> [email protected]
>> > <mailto:[email protected]>>
>> > > wrote:
>> > >
>> > >>
>> > >>> On Aug 14, 2017, at 11:49 AM, Gary Gregory <[email protected]>
>> > >> wrote:
>> > >>>
>> > >>> On Mon, Aug 14, 2017 at 12:35 PM, Gary Gregory <
>> [email protected]
>> > >
>> > >>> 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 <[email protected]>
>>
>
>

Reply via email to