type logMessage … const stringArg … const multiLineStringArg … const objectStringArg … const numberArg … const krefArg … const otherArg … const totalArg … type logStats … var logStatsTemplate … func (s logStats) String() string { … } func loadLog(path string) (messages []logMessage, stats logStats, err error) { … } var objectRE … func parseLine(line []byte, stats *logStats) (item logMessage, err error) { … } var objectTypes … func toObject(value interface{ … }