Danny Stewart

Chat logging in Mountain Lion

With OS X Mountain Lion, Apple’s iChat has undergone something of a regeneration. Gone is the familiar iChat of old, and in its place is Messages. Messages is not a ground-up rewrite, but instead simply a long-overdue refresh of the original iChat app.

One of iChat’s probably lesser-known and lesser-used features was the ability to automatically log all chats to a folder of your choosing. I’m somewhat obsessive when it comes to maintaining a record of all my digital communication, so I’ve had this enabled since I moved to the Mac full-time in 2007. The result is a staggering five years worth of chat logs with everyone I’ve ever talked to. It’s an amazing and unique collection, and a huge part of my personal history. I don’t refer to them often, but occasionally they are fun, useful, or nostalgic to refer back to.

In Mountain Lion, however, this option is gone. In its place is a new, simplified option that simply says Save history when conversations are closed. What exactly does that mean? After some investigation, I determined that this caused a conversation’s history to be restored the next time you opened a chat window with that person.

This was a good sign, though, as it had to be storing these conversations somewhere. So I poked around and discovered how they have simplified message logging in Mountain Lion, and how to make it work the way it used to (with the added benefit of syncing your chat logs across multiple computers via Dropbox).

The chat logs are still kept in the same .ichat format. They used to go by default into ~/Documents/iChats, but now they live in ~/Library/Messages/Archive.

If you’re like me and want to keep archiving your chats (five years running—can’t stop now!) in their same original location, here’s all you need to do:

  1. Quit out of Messages.
  2. Open up ~/Library/Messages/Archive. Chat logs are stored, as they always have been, in a folder for the date they took place on (for example 2012-06-20).
  3. Move the logs to the same dated folder in your original archive location (for example, in my case, ~/Dropbox/Documents/iChats), creating the folder for that date if it is not already there.
  4. Once all chat logs have been removed from ~/Library/Messages/Archive, delete the Archive folder.
  5. Fire up Terminal, and enter the following command (all one line, replacing the first path with your original archive location):

    ln -s ~/Dropbox/Documents/iChats ~/Library/Messages/Archive

Simply repeat this procedure on each Mac where you use Messages, and voilĂ , your history is maintained just as it always has been!

Chat logging in Mavericks

UPDATE 2013-10-01: In Mavericks, logging in the old .ichat format seems to have been deprecated. Sadly, this now means the only way (as far as I am aware) to search your chat history is to use an app like Base to open up ~/Library/Messages/chat.db.

UPDATE 2013-10-09: Thanks to some very astute investigation by Mathieu Chevrier, it appears that the reason the original Archive folder is gone is simply that Messages has been sandboxed in Mavericks. The archive folder now resides in ~/Library/Containers/com.apple.iChat/Data/Library/Messages/Archive.

UPDATE 2013-11-06: Thanks to Urbicande in the comments, the way to resolve this issue permanently seems to be to quit Messages, backup and then completely delete the ~/Library/Containers/com.apple.iChat/Data/Library/Messages/Archive folder, relaunch Messages, allow it to create the folder again, then move the contents of your backed up Archive folder back. From there, you need to symlink that folder into your Dropbox (not the other way around). The original folder needs to be left alone and left where it is, and a symlink can be created within your Dropbox. Thanks Urbicande!