Any opposition to using the canonical name? Gary
On Aug 14, 2017 15:28, "Gary Gregory" <[email protected]> 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 <[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]> >>> >> >> >
