On Mon, Aug 21, 2017 at 10:27 PM, Ralph Goers <[email protected]> wrote:
> I would say look at http://logging.apache.org/log4j/2.x/ < > http://logging.apache.org/log4j/2.x/> and that paragraph entitled “API > Separation”. Then look at http://logging.apache.org/ > log4j/2.x/manual/api.html <http://logging.apache.org/ > log4j/2.x/manual/api.html>. The first paragraph makes it clear what our > intent is. It should be telling that nowhere on that page is the > LoggerContext mentioned. It isn’t until you get to the Configuration > section that LoggerContext APIs are discussed. > > So the intent of the design is that code that is performing logging sticks > to the Log4j API - providing it with a guarantee of backward compatibility. > In a lot of cases no custom configuration is needed and so the whole > application will be compatible no matter what we change internally. That > doesn’t mean that getLogger() cannot be called - but IMO applications > should never be calling it for “normal" logging operations. > > All of that said, I wouldn’t veto a code commit to do what you want. It is > just not something I’d consider as a worst practice if I found it in > someone’s code for “normal” logging and I would strongly recommend they > change it. > Thanks for the details. I'll read up on the links and sleep on it. Gary > > Ralph > > > On Aug 21, 2017, at 6:45 PM, Gary Gregory <[email protected]> > wrote: > > > > Hi Ralph, > > > > Would you say that is your opinion or the intent of the design? And if > the > > latter, should we adjust the Javadoc accordingly. > > > > Gary > > > > On Mon, Aug 21, 2017 at 7:31 PM, Ralph Goers <[email protected] > > > > wrote: > > > >> I am against encouraging users to directly acquire a Logger. > >> > >> Ralph > >> > >> > >>> On Aug 21, 2017, at 5:24 PM, Gary Gregory <[email protected]> > >> wrote: > >>> > >>> On Mon, Aug 21, 2017 at 6:01 PM, Ralph Goers < > [email protected] > >>> > >>> wrote: > >>> > >>>> It is actually funny that you say that. The API we provide for > >> performing > >>>> logging is log4j-api, not log4j-core. We provide access in log4j-core > >> for > >>>> users to customize how they configure their logging - not perform it. > >>>> > >>> > >>> I'm all about humoring the ML :-) > >>> > >>> Any further thoughts on adding these APIs? For or against? > >>> > >>> Gary > >>> > >>>> > >>>> Ralph > >>>> > >>>>> On Aug 21, 2017, at 3:42 PM, Gary Gregory <[email protected]> > >>>> wrote: > >>>>> > >>>>> Hi, > >>>>> > >>>>> When someone calls any of the init methods like > >>>>> org.apache.logging.log4j.core.config.Configurator.initialize(String, > >>>>> ClassLoader, String), you get a Core LoggerContext, and that's what > >>>> you've > >>>>> got to work with... Why is that a bad idea? That's the API we > provide. > >>>>> > >>>>> Gary > >>>>> > >>>>> On Mon, Aug 21, 2017 at 4:30 PM, Ralph Goers < > >> [email protected] > >>>>> > >>>>> wrote: > >>>>> > >>>>>> So you are saying that your application is getting Loggers by doing > >>>>>> LoggerContext.getLogger()? I guess I don’t really understand why > that > >>>> is a > >>>>>> good idea. Are you saying you have your own custom LoggerContext and > >>>> that > >>>>>> you want to modify Log4j’s LoggerContext simply so you can modify > >> yours? > >>>>>> > >>>>>> Ralph > >>>>>> > >>>>>>> On Aug 21, 2017, at 3:01 PM, Gary Gregory <[email protected]> > >>>>>> wrote: > >>>>>>> > >>>>>>> My use case is that deep in the guts and call stack of my > >> server/app, I > >>>>>>> have a specific Core LoggerContext that I should/must use. Log4j > and > >>>>>> other > >>>>>>> components must co-exist in a long-lived server that have modules > >> that > >>>>>> are > >>>>>>> constantly re-initialized/re-configured during development and > >> testing > >>>>>>> phases. During acceptance and production, the are fewer > >>>> reconfigurations, > >>>>>>> but they do happen. The bottom line is that most logging code > dishes > >>>> out > >>>>>>> Loggers out of specific LoggerContext instances and not out of the > >>>>>>> LogManager classes (only in a few rare places.) > >>>>>>> > >>>>>>> Gary > >>>>>>> > >>>>>>> On Mon, Aug 21, 2017 at 3:47 PM, Ralph Goers < > >>>> [email protected] > >>>>>>> > >>>>>>> wrote: > >>>>>>> > >>>>>>>> Did you ask this question last week? Why is it needed? Why can’t > >> this > >>>>>> be > >>>>>>>> handled in LogManager? > >>>>>>>> > >>>>>>>> Ralph > >>>>>>>> > >>>>>>>>> On Aug 21, 2017, at 2:10 PM, Gary Gregory < > [email protected]> > >>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>> Hi All: > >>>>>>>>> > >>>>>>>>> I have a need for the shortcut method > >>>>>>>>> org.apache.logging.log4j.core.LoggerContext getLogger(Class) > which > >>>>>> would > >>>>>>>>> use getCannonicalName(). > >>>>>>>>> > >>>>>>>>> Any objection to adding that? > >>>>>>>>> > >>>>>>>>> Gary > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>> > >>>> > >>>> > >> > >> > >> > >
