[logback-user] Log4j LoggingEvent

Ralph Goers rgoers at apache.org
Wed May 13 01:09:13 CEST 2009


Just for fun I started working on this last night.  I hope to have  
something I can submit in a couple of days. I guess I'll have to  
create a Jira and attach a patch to it since I don't have commit  
rights :-(

Ralph

On May 12, 2009, at 9:32 AM, Greg Flex wrote:

> Great,
> This looks like it would work for me. The only question I have is  
> what's the "UnsynchronizedAppenderBase"
> and where can I find some info about it.
> Thanks
> Greg.
>
>
> On Mon, May 11, 2009 at 10:48 PM, Ralph Goers <rgoers at apache.org>  
> wrote:
> You could create your own Appender that extends  
> UnsynchronizedAppenderBase. In the Appender write the events to a  
> Queue, taking care that the Queue is thread-safe (for example, by  
> using one of the Queues in java.util.concurrent). You could then  
> have a separate thread that then does the real work of removing the  
> logging events from the queue and processing them. With this, the  
> only locking that would occur in the application thread would be in  
> adding the LoggingEvent to the queue. However, it would also have to  
> retrieve the caller data and the thread name prior to adding the  
> LoggingEvent to the queue.
>
> Actually, now that I think about it, this seems like it would be a  
> great AsynchronousAppender class. It would just need to be  
> configured with the Appender that writes the data.
>
> Ralph
>
>
> On May 11, 2009, at 4:54 PM, Greg Flex wrote:
>
> Hi Ceki,
> I (again) have some questions about log4j.
> (I guess Logback works the same way....)
> I was wondering if there's a way to save a "logger object" to a
> data structure like a queue or something before sending it to some  
> appender.
> For example:
> The socket appender will cause the log4j client to lock/freeze if  
> there's no link to the server.
> I verified it and it does lock the client.
> I need to deal with this issue so I'd like to store "logger  
> objects" (or something)
> before they go to the socket or some other appender first.
> At the moment I have a wrapper around the log4j that when the debug  
> method is called
> I'm just calling the log4j debug method passing some args etc.
> so I have:   logger.debug("some stuff");
> The configuration file does the trick and outputs to the console (at  
> the moment) all the info:
> the class name, the method name, the line number etc.
> I'd like to save this info somehow to some object that I can store  
> in a queue or something.
> How do I retrieve this information programmatically? Is there a way?
> I know about LoggingEvent object, could I use it and pass the above  
> stated information
> to its constructor then store it in a queue?
> Logger gets me for free (like method name etc.)
> Any suggestion?
> Thanks a lot.
> Greg.
>
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://qos.ch/pipermail/logback-user/attachments/20090512/5036a69b/attachment.htm>


More information about the Logback-user mailing list