On windows, quoting with double quotes works, single quotes does not work.

Does this work for you?
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

On Sun, Sep 11, 2016 at 10:51 PM, Remko Popma <remko.po...@gmail.com> wrote:

> 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-unsubscribe@
> logging.apache.org
> >>>>>>>>>>> For additional commands, e-mail: log4j-user-help@logging.
> >>> apache.org
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> ------------------------------------------------------------
> >>>>> ---------
> >>>>>>>>>> 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-unsubscribe@
> logging.apache.org
> >>>>>>>>> For additional commands, e-mail: log4j-user-help@logging.
> apache.org
> >
>

Reply via email to