I finally found why it didn’t work, was not finding the internal class because the $ needs to be escaped under unix, so for MAC/Linux you need to put the class name containing $ between quotes, I suppose on windows will work this way too.
Would be great to update the docs to reflect this. The next works: java -cp log4j-core-2.6.2.jar 'org.apache.logging.log4j.core.tools.Generate$ExtendedLogger' com.mycomp.ExtLogger DIAG=350 NOTICE=450 VERBOSE=550 > ExtLogger.java Juan > On 11 Sep 2016, at 10:26, Remko Popma <remko.po...@gmail.com> wrote: > > You need to also specify the log levels to generate, but the below both > worked for me: > > %JAVA_HOME%\bin\java -cp classes > org.apache.logging.log4j.core.tools.Generate$ExtendedLogger MyLogger > DELETEME=333 > MyLogger.java > > > %JAVA_HOME%\bin\java -cp classes > org.apache.logging.log4j.core.tools.Generate$CustomLogger MyLogger > FATAL=100 ERROR=200 WARN=300 INFO=400 DEBUG=500 TRACE=600 > MyLogger.java > > > On Sun, Sep 11, 2016 at 4:42 PM, Juan Fuentes <juanmarianofuen...@gmail.com> > wrote: > >> OS X Yosemite Version 10.10.5 >> >> bs-mbpr28:~ juanf$ java -version >> java version "1.8.0_73" >> Java(TM) SE Runtime Environment (build 1.8.0_73-b02) >> Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode) >> >> Juan >> >>> On 11 Sep 2016, at 09:39, Remko Popma <remko.po...@gmail.com> wrote: >>> >>> What platform are you using? it used to work for me on windows... >>> >>> On Sun, Sep 11, 2016 at 4:16 PM, Juan Fuentes < >> juanmarianofuen...@gmail.com> >>> wrote: >>> >>>> I did copy paste the examples, so those where included. >>>> >>>> java -cp log4j-core-2.6.2.jar org.apache.logging.log4j.core. >> tools.Generate$CustomLogger >>>> MyLogger > MyLogger.java >>>> >>>> I tried having MyLogger in both a package and base package and also >>>> outputting the source to console or a file. >>>> >>>> Juan >>>> >>>>> On 11 Sep 2016, at 09:13, Remko Popma <remko.po...@gmail.com> wrote: >>>>> >>>>> You need to run either Generate$ExtendedLogger or >> Generate$CustomLogger. >>>>> Generate does not have a main method. >>>>> >>>>> On Sun, Sep 11, 2016 at 4:10 PM, Juan Fuentes < >>>> juanmarianofuen...@gmail.com> >>>>> wrote: >>>>> >>>>>> As I side note, I tried to use that tool this morning to see the code >>>> that >>>>>> generates, and it fails to me using the examples. >>>>>> >>>>>> Error: Main method not found in class org.apache.logging.log4j.core. >>>> tools.Generate, >>>>>> please define the main method as: >>>>>> public static void main(String[] args) >>>>>> or a JavaFX application class must extend >> javafx.application.Application >>>>>> >>>>>> Juan >>>>>> >>>>>> >>>>>> >>>>>>> On 11 Sep 2016, at 08:50, Remko Popma <remko.po...@gmail.com> wrote: >>>>>>> >>>>>>> The focus of that logger wrapper generator is on the convenience >>>> methods >>>>>> to >>>>>>> generate for a new log level, that is why the tools is documented >> under >>>>>>> custom levels. >>>>>>> >>>>>>> This still makes sense to me, but I've seen this question several >> times >>>>>> now >>>>>>> so you are certainly not the only one who didn't find the docs... >>>> That's >>>>>>> why I'm thinking to add this to the FAQ, but other suggestions are >>>>>> welcome. >>>>>>> >>>>>>> On Sun, Sep 11, 2016 at 3:41 PM, Ralph Goers < >>>> ralph.go...@dslextreme.com >>>>>>> >>>>>>> wrote: >>>>>>> >>>>>>>> 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 < >>>> ralph.go...@dslextreme.com> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Do we have documentation on making custom Loggers? >>>>>>>>> >>>>>>>>> Ralph >>>>>>>>> >>>>>>>>>> On Sep 10, 2016, at 5:09 PM, Remko Popma <remko.po...@gmail.com> >>>>>> 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 < >> juanmarianofuen...@gmail.com >>>>> >>>>>>>> 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 <boa...@gmail.com> 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 < >>>>>>>> ralph.go...@dslextreme.com> >>>>>>>>>>>> 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 <boa...@gmail.com> >>>>>> 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 <boa...@gmail.com >>> >>>>>>>> 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 < >>>>>>>>>>>>> juanmarianofuen...@gmail.com> >>>>>>>>>>>>>>> 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: log4j-user-unsubscribe@ >>>>>> logging.apache.org >>>>>>>>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging. >>>>>>>> apache.org >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Matt Sicker <boa...@gmail.com> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Matt Sicker <boa...@gmail.com> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>>> --------- >>>>>>>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@ >>>> logging.apache.org >>>>>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging. >>>>>> apache.org >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Matt Sicker <boa...@gmail.com> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------ >>>>>> --------- >>>>>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscribe@ >> logging.apache.org >>>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging. >>>> apache.org >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> ------------------------------------------------------------ >>>> --------- >>>>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging. >> apache.org >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------ >>>> --------- >>>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>>>>>>> For additional commands, e-mail: log4j-user-help@logging. >> apache.org >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------ >> --------- >>>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>>>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>> >>>> >> >>