From Log4j’s perspective, what is logged is the Message. Each message may have 
a different way of encapsulating its information.

Ralph

> On Nov 30, 2015, at 8:33 AM, Nicholas Duane <[email protected]> wrote:
> 
> I'm not necessarily after the string.  I'm trying to get the original object 
> that was passed to one of the logging methods.  It could have been a string 
> or some complex object.
> 
> Thanks,
> Nick
> 
>> Subject: Re: StatusLogger
>> From: [email protected]
>> Date: Mon, 30 Nov 2015 08:30:37 -0700
>> To: [email protected]
>> 
>> Log4j2 logs Message objects. The object being logged is contained within the 
>> message. You would normally call getFormattedMessage() to get the message 
>> String if that is what you are after.
>> 
>> Ralph
>> 
>>> On Nov 30, 2015, at 7:10 AM, Nicholas Duane <[email protected]> wrote:
>>> 
>>> Is there a way within an appender to get the original object logged?  In 
>>> log4net we call LoggingEvent.MessageObject.  In log4j2 it doesn't seem as 
>>> straight forward.  A LogEvent object has a getMessage() method but I assume 
>>> that's some sort of wrapper around the object that was logged.  We 
>>> currently have code which gets our complex object which was logged by 
>>> calling getParameters() and checking those objects against the interface 
>>> our object implements.  However, if a simple string was logged how do we 
>>> get that?  Can we always count on the zeroth element of the parameters 
>>> array to be the original object that was logged?
>>> 
>>> Thanks,
>>> Nick
>>> 
>>>> Subject: Re: StatusLogger
>>>> From: [email protected]
>>>> Date: Fri, 20 Nov 2015 12:08:38 -0700
>>>> To: [email protected]
>>>> 
>>>> OK - so it sounds like you are fine.
>>>> 
>>>> Ralph
>>>> 
>>>> 
>>>>> On Nov 20, 2015, at 11:24 AM, Nicholas Duane <[email protected]> wrote:
>>>>> 
>>>>> That's what we're doing.  The appender it writing to a logger and via the 
>>>>> configuration we have that going to this http endpoint.  We're careful to 
>>>>> ensure that the events raised by our appender don't come back to itself.
>>>>> 
>>>>> Thanks,
>>>>> Nick
>>>>> 
>>>>>> Subject: Re: StatusLogger
>>>>>> From: [email protected]
>>>>>> Date: Fri, 20 Nov 2015 11:04:57 -0700
>>>>>> To: [email protected]
>>>>>> 
>>>>>> You can also use a normal logger in your appender for stuff that will 
>>>>>> happen at runtime. You just have to be aware that if you have things 
>>>>>> configured incorrectly that may result in a loop - at which point Log4j 
>>>>>> will detect it and ignore those logging events.
>>>>>> 
>>>>>> Ralph
>>>>>> 
>>>>>>> On Nov 20, 2015, at 10:55 AM, Nicholas Duane <[email protected]> wrote:
>>>>>>> 
>>>>>>> We're attempting to capture error, or info, events that our plugins 
>>>>>>> raise.  For instance, we wrote a domain sockets appender.  If that 
>>>>>>> domain sockets appender has trouble connecting to the domain socket 
>>>>>>> we'd like to know about it.  In addition, we'd like to know about it 
>>>>>>> centrally so that we don't have to monitor each of the boxes our code 
>>>>>>> is running on.  We therefore have a "logging" appender which writes to 
>>>>>>> an http endpoint.  The log messages our plugins emit will get forwarded 
>>>>>>> to this logging appender (via the configuration) in hopes to get these 
>>>>>>> issues to a central location.  Of course if the http appender has 
>>>>>>> trouble communicating with the http endpoint there's not much we can 
>>>>>>> report on that, though I guess we could write to the StatusLogger at 
>>>>>>> that point.
>>>>>>> 
>>>>>>> I hope I explained it well enough so that you understand what it is 
>>>>>>> we're trying to do.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Nick
>>>>>>> 
>>>>>>>> Subject: Re: StatusLogger
>>>>>>>> From: [email protected]
>>>>>>>> Date: Fri, 20 Nov 2015 10:16:17 -0700
>>>>>>>> To: [email protected]
>>>>>>>> 
>>>>>>>> What do you mean by “capture the events from our appenders”?  The 
>>>>>>>> StatusLogger is primarily used during configuration or to log errors 
>>>>>>>> that occur in the appender. If you are trying to capture the events 
>>>>>>>> being logged that sounds a bit odd as that is the purpose of an 
>>>>>>>> appender.
>>>>>>>> 
>>>>>>>> If you want to capture all the Log4j status logger output you can 
>>>>>>>> specify a destination on the configuration element. The output will 
>>>>>>>> then be written to that location instead of to stdout.
>>>>>>>> 
>>>>>>>> Ralph
>>>>>>>> 
>>>>>>>>> On Nov 20, 2015, at 8:01 AM, Nicholas Duane <[email protected]> wrote:
>>>>>>>>> 
>>>>>>>>> The code happens to be a log4j2 appender, so it sounds like you're 
>>>>>>>>> saying we should be using the StatusLogger, correct?  The issue is 
>>>>>>>>> that we want to capture the events from our appenders to a central 
>>>>>>>>> location.
>>>>>>>>> 
>>>>>>>>> Thanks,
>>>>>>>>> Nick
>>>>>>>>> 
>>>>>>>>>> Subject: Re: StatusLogger
>>>>>>>>>> From: [email protected]
>>>>>>>>>> Date: Thu, 19 Nov 2015 19:01:45 -0700
>>>>>>>>>> To: [email protected]
>>>>>>>>>> 
>>>>>>>>>> Yes, the StatusLogger is how Log4j logs things that happen within 
>>>>>>>>>> Log4j itself. If you are writing plugins for Log4j those should also 
>>>>>>>>>> use the StatusLogger as they effectively become part of Log4j. If 
>>>>>>>>>> the are regular application code then they should not use the 
>>>>>>>>>> StatusLogger.
>>>>>>>>>> 
>>>>>>>>>> Although the StatusLogger uses the same API as the Log4j API its 
>>>>>>>>>> implementation is quite different and much more limited in what can 
>>>>>>>>>> be done with the output.
>>>>>>>>>> 
>>>>>>>>>> The StatusLogger implementation doesn’t have Appenders. Instead it 
>>>>>>>>>> has StatusListeners that receive the events. The only listeners 
>>>>>>>>>> provided with Log4j are the StatusConsoleListener, which writes 
>>>>>>>>>> events to stdout or a PrintStream, and StatusLoggerAdmin, which 
>>>>>>>>>> makes events available over JMX.
>>>>>>>>>> 
>>>>>>>>>> Ralph
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Nov 19, 2015, at 6:33 PM, Nicholas Duane <[email protected]> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> I'm trying to get information on the StatusLogger.  I've searched 
>>>>>>>>>>> and so far the log4j docs say:
>>>>>>>>>>> 
>>>>>>>>>>> "Records events that occur in the logging system."
>>>>>>>>>>> 
>>>>>>>>>>> There are also a bunch of articles related to people having 
>>>>>>>>>>> problems with the StatusLogger.  I'm just looking to find out what 
>>>>>>>>>>> it is.  It appears it's somewhat of an "internal" logger that log4j 
>>>>>>>>>>> (log4j2) uses to log internal events.  One reason I'm looking into 
>>>>>>>>>>> this is because I see some code in one of our projects in which the 
>>>>>>>>>>> class is logging to the StatusLogger.  I assume we shouldn't be 
>>>>>>>>>>> doing this.
>>>>>>>>>>> 
>>>>>>>>>>> Is the StatusLogger used in log4j2?  In one post I read that the 
>>>>>>>>>>> "status" attribute controls the level.  Can I set the appender for 
>>>>>>>>>>> the StatusLogger?
>>>>>>>>>>> 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Nick
>>>>>>>>>>>                                       
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>> 
>>>>>>>>>                                         
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>> 
>>>>>>>                                           
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>>>>>> 
>>>>>                                     
>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>> 
>>>                                       
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
>                                         



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to