Thanks! I'll try this and update the docs. Remko
Sent from my iPhone > On 2016/09/11, at 21:37, Juan Fuentes (CISD) <juan.fuentes.c...@gmail.com> > wrote: > > 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 > --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-user-h...@logging.apache.org