Scribe Logfile Format

If you need to process Scribe logs to generate your own reports, web pages, or to put them into a database, you will need to know their format.

Scribe stores all logs under the logs directory. Each file has a 4Kb header that consists of lines (terminate with a newline) of the form:
ParameterName=Parameter Value

The end of the parameter block is marked with a null (zero). Anything after the null but still inside the 4Kb header block should be ignored.

After that, the log consists of lines. Each thing that occurred on the channel gets one line. The fields in the line are separated by spaces.

The first field is the timestamp. It is in the form of seconds since the Epoch (00:00:00 UTC, January 1, 1970). The next field is the person or server the action refers to. The person's nick!user@host may be prefixed by an @ if they were a channel operator or a + if they were voiced.

The next field is the type of action. NOTICE means someone sent a notice to the channel. MODE means someone changed the channel's modes. TOPIC means the topic was changed. PART means someone left the channel. QUIT means someone on the channel quit. PRIVMSG means someone sent a normal message to the channel, and so on.

The rest of the line is the event text. If the command was a message, the remainer of the line is the text of the message. If the command was a nickname change, the rest of the line is the nickname they changed to.