logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Logger Wrapper + Trace API = Issues
Date Sun, 11 Sep 2016 08:26:34 GMT
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 <juanmarianofuentes@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.popma@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 <
> juanmarianofuentes@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.popma@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 <
> >> juanmarianofuentes@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.popma@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.goers@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.goers@dslextreme.com>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>> Do we have documentation on making custom Loggers?
> >>>>>>>
> >>>>>>> Ralph
> >>>>>>>
> >>>>>>>> On Sep 10, 2016, at 5:09 PM, Remko Popma <remko.popma@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 <
> juanmarianofuentes@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 <boards@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.goers@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
<boards@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 <boards@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 <
> >>>>>>>>>>> juanmarianofuentes@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 <boards@gmail.com>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> --
> >>>>>>>>>>>> Matt Sicker <boards@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 <boards@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
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>
> >>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message