For the original topic, I haven't played in a while so i am not all that current on chat logging options. But perhaps a chat logging inspired by Logging Frameworks would be good idea. For each channel you could give a number of destinations.
For example usage you have an allChannels.log, where messages of all channels are logged. You add guild.log to the guild channel and you add IC.log to guild, tell, chat and group. When you play Planeshift, all messages on the guild channel get added to allChannels.log, guild.log and IC.log. Tell messages get only added to IC.log and AllChannels.log. System messages only appear in AllChannels.log. Channels without any destination don't get logged at all.
A unit test framework helps to find implementations not working as the test writer understood the specification. It does not speed up arriving at the specification, nor does it guarantee the test implementation is correct for the specification. It only checks the working of an implementation, not the coding style. As the previous poster already said, coding style is beyond a unit test framework.
An implementation that looks like decompiled optimized object code will pass a unit test framework. But it should never pass quality control on any code base. There are various flavors of code that works, but shouldn't be accepted.