[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