func dumpLog(key uint64, rlog *raft.Log) { if rlog.Type != raft.LogCommand { // TODO: hexdump log.Printf("type == %d, data = %s\n", rlog.Type, string(rlog.Data)) return } unfilteredMsg := types.NewRobustMessageFromBytes(rlog.Data) rmsg := &unfilteredMsg if rmsg.Type == types.RobustIRCFromClient { rmsg = util.PrivacyFilterMsg(rmsg) } else if rmsg.Type == types.RobustState { state, err := base64.StdEncoding.DecodeString(rmsg.Data) if err != nil { log.Printf("Could not decode robuststate: %v", err) return } var snapshot pb.Snapshot if err := proto.Unmarshal(state, &snapshot); err != nil { log.Printf("Could not unmarshal proto: %v", err) return } snapshot = util.PrivacyFilterSnapshot(snapshot) var marshaler proto.TextMarshaler rmsg.Data = marshaler.Text(&snapshot) } msgtime := time.Unix(0, rmsg.Id.Id) timepassed := lastModified.Sub(msgtime) if !*onlyCompacted || timepassed > 7*24*time.Hour { fmt.Printf(format, key, rmsg.Type, rmsg.Id.String(), msgtime, timepassed, rmsg.Session.String(), rmsg.Data) } if rmsg.Id.Id < lastId { log.Printf("WARNING: message IDs not strictly monotonically increasing at %v\n", time.Unix(0, rmsg.Id.Id)) } lastId = rmsg.Id.Id }
func dumpLog(key uint64, rlog *raft.Log) { if rlog.Type != raft.LogCommand { // TODO: hexdump log.Printf("type == %d, data = %s\n", rlog.Type, string(rlog.Data)) return } unfilteredMsg := types.NewRobustMessageFromBytes(rlog.Data) rmsg := &unfilteredMsg if rmsg.Type == types.RobustIRCFromClient { rmsg = util.PrivacyFilterMsg(rmsg) } msgtime := time.Unix(0, rmsg.Id.Id) timepassed := lastModified.Sub(msgtime) if !*onlyCompacted || timepassed > 7*24*time.Hour { fmt.Printf(format, key, rmsg.Type, rmsg.Id.String(), msgtime, timepassed, rmsg.Session.String(), rmsg.Data) } if rmsg.Id.Id < lastId { log.Printf("WARNING: message IDs not strictly monotonically increasing at %v\n", time.Unix(0, rmsg.Id.Id)) } lastId = rmsg.Id.Id }