logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Juan Fuentes <juanmarianofuen...@gmail.com>
Subject Re: Logger Wrapper + Trace API = Issues
Date Sun, 11 Sep 2016 07:42:48 GMT
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