32

I have Skype 2.8 on Mac OS X 10.5.8.

Under the the chat menu is an option called "Recent Chats". This allows me to see logs of recent chats, but not of older ones.

I know the older ones are stored because they are in ~/Library/Application Support/Skype/username/chatmsg256.dbb. This file when put in a text editor has text chat information from all my previous Skype chats. It is however stored in an unknown file format that I do not know how to parse.

Does Skype have a built-in log viewer (like Adium's) that I can use to access these older logs?

slhck
  • 235,242
hekevintran
  • 2,805

5 Answers5

59

Skype stores its chat history in a SQLite database: ~/Library/Application Support/Skype/YourSkypeName/main.db. You can use the command line sqlite3 tool to view the chat logs.

Find out user names of your chat partners

The following command in Terminal (I'm assuming you're using the bash shell) lists all your chat partners' user names:

sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db 'SELECT DISTINCT(dialog_partner) FROM Messages;'

Extract all messages to and from a specific chat partner

Option A. Write to terminal

To print all messages to and from a certain chat partner (theOtherPersonsUserName), use the following command:

sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db "SELECT author, from_dispname, datetime(timestamp, 'unixepoch') as date, body_xml FROM Messages where dialog_partner = 'theOtherPersonsUserName' ORDER BY timestamp;"

This will print one message per line, chronologically, with sending username, display name, date, and text, like the following:

danielbecks-username|Daniel Beck|2012-02-03 08:47:53|Just testing something

Option B. Write to file

You can write this chat log directly to a file. Run the following to write the log with theOtherPersonsUserName to the file theOtherPersonsUserName.log:

sqlite3 /Users/danielbeck/Library/Application\ Support/Skype/YourSkypeName/main.db "SELECT author, from_dispname, datetime(timestamp, 'unixepoch') as date, body_xml FROM Messages where dialog_partner = 'theOtherPersonsUserName' ORDER BY timestamp;" > "theOtherPersonsUserName.log"


Of course, you can also open main.db in any SQLite database viewer and go from there.

Daniel Beck
  • 111,893
9

I'm not sure if this shows the entire history, but try the following. Whether the contact is online or offline, pop up the chat window.

Click blue chat button

Then click "All" under "View earlier messages:".

Click all

Alternatively, click the gear icon for the contact and select "View Chat History". That generates an html file that is opened in your web browser window.

The reason I'm not sure if this shows all the history is because I can't fully remember when my chat history began on this computer.

Gareth
  • 19,080
fideli
  • 14,884
2

Just want to provide some more easy-to-use and up-to-date ways to view Skype logs:

1

Try SkypeHistoryViewer.

A small program that will allow the user to open all history of Skype activity that is on a PC, check your kids usage, who there talking to what there saying or check on a cheating partner. Currently for Windows Vista and 7.

Gareth
  • 19,080
dave
  • 19
0

From Skype 8 on Mac,the path of the database file is changed. it is below:

~/Library/Application Support/Microsoft/Skype for Desktop/databases

reference : https://answers.microsoft.com/en-us/skype/forum/all/skype-on-mac-blank-screen-at-startup/4e63b629-cbb4-41d6-94e2-94c17bba097e