Sfoglia il codice sorgente

Merge pull request #477 from mautrix/sumner/bri-2974

backfill logging: fix logging of Backfill structs
Sumner Evans 3 anni fa
parent
commit
1262b40cbd
2 ha cambiato i file con 20 aggiunte e 1 eliminazioni
  1. 19 0
      database/backfillqueue.go
  2. 1 1
      historysync.go

+ 19 - 0
database/backfillqueue.go

@@ -19,6 +19,7 @@ package database
 import (
 	"database/sql"
 	"errors"
+	"fmt"
 	"time"
 
 	log "maunium.net/go/maulogger/v2"
@@ -33,6 +34,18 @@ const (
 	BackfillMedia                  = 2
 )
 
+func (bt BackfillType) String() string {
+	switch bt {
+	case BackfillImmediate:
+		return "IMMEDIATE"
+	case BackfillDeferred:
+		return "DEFERRED"
+	case BackfillMedia:
+		return "MEDIA"
+	}
+	return "UNKNOWN"
+}
+
 type BackfillQuery struct {
 	db  *Database
 	log log.Logger
@@ -111,6 +124,12 @@ type Backfill struct {
 	CompletedAt    *time.Time
 }
 
+func (b *Backfill) String() string {
+	return fmt.Sprintf("Backfill{QueueID: %d, UserID: %s, BackfillType: %s, Priority: %d, Portal: %s, TimeStart: %s, TimeEnd: %s, MaxBatchEvents: %d, MaxTotalEvents: %d, BatchDelay: %d, CompletedAt: %s}",
+		b.QueueID, b.UserID, b.BackfillType, b.Priority, b.Portal, b.TimeStart, b.TimeEnd, b.MaxBatchEvents, b.MaxTotalEvents, b.BatchDelay, b.CompletedAt,
+	)
+}
+
 func (b *Backfill) Scan(row Scannable) *Backfill {
 	err := row.Scan(&b.QueueID, &b.UserID, &b.BackfillType, &b.Priority, &b.Portal.JID, &b.Portal.Receiver, &b.TimeStart, &b.TimeEnd, &b.MaxBatchEvents, &b.MaxTotalEvents, &b.BatchDelay)
 	if err != nil {

+ 1 - 1
historysync.go

@@ -78,7 +78,7 @@ func (user *User) handleHistorySyncsLoop() {
 
 func (user *User) handleBackfillRequestsLoop(backfillRequests chan *database.Backfill) {
 	for req := range backfillRequests {
-		user.log.Debugfln("Handling backfill request %#v", req)
+		user.log.Debugfln("Handling backfill request %s", req)
 		conv := user.bridge.DB.HistorySyncQuery.GetConversation(user.MXID, req.Portal)
 		if conv == nil {
 			user.log.Debugfln("Could not find history sync conversation data for %s", req.Portal.String())