[logback-user] Q: Howto force flush before exiting
listid at qos.ch
Wed Jun 20 21:08:14 CEST 2007
Is there a specific point in your application when you know that it is about to
be terminated. Put differently, can you call a specific function (to be
discussed later) just before exiting your app?
Jason Buberel wrote:
> Here is the behavior I currently observe:
> I am using an SMTPAppender to delivery logging messages to my Inbox. By
> default, the SMTPAppender implementation that comes with Logback will
> trigger the sending of an email (including all accumulated messages) upon
> receipt of an ERROR level logging message.
> As a result of the default behavior, you can end up in a situation where you
> generate 100 INFO level messages to the SMTPAppender and when your
> application exits, no email will have been sent. Those 100 INFO-level
> logging messages will be discarded.
> Here is the behavior I would like to achieve:
> I would like to implement an EventEvaluator or TriggerPolicy that would
> force the email to be sent at time of exit or termination. I know that
> overriding finalize() is not a reliable method of doing this, as there is no
> guarantee that the VM will actually call it.
> I did try using hivemodule's Discardable interface in a subclass of
> SMTPAppender, which I use elsewhere in my application, but ran into problems
> with class loaders and the like.
> Any suggestions on the best way to achieve this - guaranteed flush/send of
> the email message if there are any unsent events in the queue?
Logback: The reliable, generic, fast and flexible logging framework for Java.
More information about the Logback-user