Do you have a close-to-perfect implementation, perchance?
Any logging implementation I have ever seen is full of tradeoffs along all sorts of axes. At some point something has to give.
Examples: Your log cannot accept more messages (maybe it's a local disk), what do you do? Do you store it in memory? Do you throw it away and record that you threw messages away? What happens if the machine dies before you can record the failures? Are there some log messages that are important enough to actually halt the application? etc. etc.
EDIT: ... and let's not even get into remote logging.
It's actually a really complicated problem and not enough people appreciate that.
Any logging implementation I have ever seen is full of tradeoffs along all sorts of axes. At some point something has to give.
Examples: Your log cannot accept more messages (maybe it's a local disk), what do you do? Do you store it in memory? Do you throw it away and record that you threw messages away? What happens if the machine dies before you can record the failures? Are there some log messages that are important enough to actually halt the application? etc. etc.
EDIT: ... and let's not even get into remote logging.
It's actually a really complicated problem and not enough people appreciate that.