Board Thread:Wiki discussions and announcements/@comment-145064-20140320170332/@comment-1694864-20140411142042

Chat logging done by end-user is inefficient, and has an overhead. When the user goes to read the logs, the server sends back all the messages that have been logged. Note that if the logger's computer somehow got an error and did not receive the message, or somehow didn't manage to log the messages, it would be missing from the logs. And that's bad in logging terms.
 * 1) User sends message to server (Receive)
 * 2) Server sends message to all users (Broadcast)
 * 3) User sends message that they received back to the server. (Logging)

We have situations where the logger isn't on (this is the default):
 * 1) User sends message to server (Receive)
 * 2) Server sends message to all users. (Broadcast)

In an optimal setup for logging, the server is the logger: When the user goes to read logs, the server sends back all messages that it received and logged. Any missing messages are caused by only the server failing to log a message. There won't be any caused by a user-run logger failing to receive the message and/or sending it back to the server.
 * 1) User sends message to server (Receive)
 * 2) Server logs message (Logging). Server sends message to all users (Broadcast)