I should have looked at your link first. It seems rather odd to find custom logger documentation under custom levels, and I didn’t see it in the table of contents - probably because I didn’t think to click on that.
Ralph > On Sep 10, 2016, at 11:39 PM, Ralph Goers <[email protected]> wrote: > > Do we have documentation on making custom Loggers? > > Ralph > >> On Sep 10, 2016, at 5:09 PM, Remko Popma <[email protected]> wrote: >> >> The easier way is to use the wrapper generator tool included in log4j. The >> tool is intended to be used with custom log levels and is documented here: >> https://logging.apache.org/log4j/2.x/manual/customloglevels.html#AddingOrReplacingLevels >> >> I should add this question to the faq page, this is at least the 3rd or 4th >> time this came up. >> >> Sent from my iPhone >> >>> On 2016/09/11, at 6:11, Juan Fuentes <[email protected]> wrote: >>> >>> Thanks Matt and Ralph, >>> >>> I have extended ExtendedLoggerWrapper and it seems to work. Let’s hope I >>> don’t stumble against other peculiarities. >>> >>> Thanks again! >>> Juan >>> >>>> On 10 Sep 2016, at 21:44, Matt Sicker <[email protected]> wrote: >>>> >>>> If there's an easier way to do it, that'd be cool, but all the bridges in >>>> log4j itself use ExtendedLoggerWrapper as it is. >>>> >>>> On 10 September 2016 at 14:35, Ralph Goers <[email protected]> >>>> wrote: >>>> >>>>> Yes, you use ExtendedLoggerWrapper and pass the fully qualified class name >>>>> of your wrapper class on the logMessage call. I seem to recall there is an >>>>> even easier way but it escapes me and I don’t see it documented on the web >>>>> site. >>>>> >>>>> Ralph >>>>> >>>>>> On Sep 10, 2016, at 12:06 PM, Matt Sicker <[email protected]> wrote: >>>>>> >>>>>> I should note that you might want to use ExtendedLoggerWrapper in this >>>>>> scenario as the methods are protected otherwise that I just mentioned. >>>>>> >>>>>>> On 10 September 2016 at 14:03, Matt Sicker <[email protected]> wrote: >>>>>>> >>>>>>> When you make a custom Logger wrapper, you need to use the logMessage() >>>>>>> methods that include the fqcn string which should be the fully qualified >>>>>>> class name of the logger wrapper. See AbstractLogger for an example. >>>>>>> >>>>>>> On 10 September 2016 at 13:57, Juan Fuentes < >>>>> [email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Dear all, >>>>>>>> >>>>>>>> After spending half a day on this I have decide to try luck on the >>>>>>>> official mailing list, hopefully some dev can throw some light over >>>>> this. >>>>>>>> >>>>>>>> I’m trying to use a wrapper over a Logger object to restrict the >>>>> methods >>>>>>>> of the API to the ones on my interface, for example: >>>>>>>> >>>>>>>> class Log4JLogger implements com.opencms.core.logging.Logger { >>>>>>>> >>>>>>>> private Logger logger; >>>>>>>> >>>>>>>> public Log4JLogger(Logger logger) { >>>>>>>> this.logger = logger; >>>>>>>> } >>>>>>>> >>>>>>>> @Override >>>>>>>> public void traceEntry(String message, Object... args) { >>>>>>>> this.logger.traceEntry(message, args); >>>>>>>> } >>>>>>>> >>>>>>>> If I combine this with a pattern that includes the line and the method >>>>>>>> name, for example: >>>>>>>> <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} %-5level %class{36} >>>>> %L >>>>>>>> %M - %msg%xEx%n"/> >>>>>>>> >>>>>>>> I get as result the line and method name on the wrapper, what makes >>>>>>>> sense, but is not what I want to. I want the ones from the class that >>>>> calls >>>>>>>> the wrapper. >>>>>>>> >>>>>>>> Any way to configure/specify this in any way? >>>>>>>> >>>>>>>> I would be also happy if I can just extend a Logger and implement my >>>>>>>> interface on it, but what logger should I extend? How can I create an >>>>>>>> instance of this custom logger afterwards? >>>>>>>> >>>>>>>> Thanks in advance, >>>>>>>> Juan >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Matt Sicker <[email protected]> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Matt Sicker <[email protected]> >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>> >>>> >>>> -- >>>> Matt Sicker <[email protected]> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
