I'm against sleeping because if the user is logging so fast that logs are rotating more than once per second then there is an increased risk that appendCh will fill up.  I don't mind breaking the recursive structure but I am concerned about changing the filename format by appending nanoseconds in the case of conflicts.  Or are you suggesting we always add nanoseconds?  Hmm... That would make it different than mongodb's rotated logfile format but maybe that's ok.