I was hoping no two actions would occur on the same millisecond. Thanks for the feedback.
In addition, that's just based on my perception; IRC is NOT an ordered protocol, so if multiple people ran this same logger, they'd end up with different stream and different duplicate keys (same thing as events lost I might add).
My log, also, conveniently contains joins, parts, notices, ctcps, and all that other jazz because I used a mature logging library.