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 13:51:56 GMT
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.cisd@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.popma@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 <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
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Mime
View raw message