Java: How am I supposed to close async appender wrapped in SLF4J facade?

347 Views Asked by At

I am developing my own simple logging system, which I'd like to design so it writes the to output stream asyncronously. For that purpose I create processing thread. How am I supposed to properly stop it, when user application finishes executing?

Unfortunatelly SLF4J facade doesn't provide any interface for me to delegate this responsibility to the user.

1

There are 1 best solutions below

0
On BEST ANSWER

Make the thread daemon and it will finish togehter with the application. As for closing the OutputStream you don't need to worry about it. If it is a file or a socket it will be closed by OS anyway. Just make sure you flush after each write.