Presently our applications use the standard Logger
package that comes with Ruby and it works just fine. We use it
in conjunction with the standard unix logrotate. Up to now
everything has been working as expected
Until the logrotate hit in the middle of some significant
processing and a client had a query. What we found was a 2
second gap in the logs. The end of the old log was the start
of a transaction and the start of the new log was the end of a
completely different transaction. So we have lost partial
information from two transactions and it is possible that
there was at least one transaction between these two that was
lost completely. Each transaction takes around 1 second to
process, sometimes less
This time it was not too big an issue and there were other
ways to investigate the problem
Is there some other way of logging that is even less likely
to lose data?