internal/lsp: fix panic when logging errors in snapshot.KnownPackages

Fixes golang/go#35606

Change-Id: I85eef677ed2e6a971d2955ba97358d26ecf18ac1
Reviewed-on: https://go-review.googlesource.com/c/tools/+/207346
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
diff --git a/internal/lsp/cache/snapshot.go b/internal/lsp/cache/snapshot.go
index 8e2b4d6..575e864 100644
--- a/internal/lsp/cache/snapshot.go
+++ b/internal/lsp/cache/snapshot.go
@@ -2,12 +2,12 @@
 
 import (
 	"context"
-	"fmt"
 	"os"
 	"sync"
 
 	"golang.org/x/tools/go/analysis"
 	"golang.org/x/tools/internal/lsp/source"
+	"golang.org/x/tools/internal/lsp/telemetry"
 	"golang.org/x/tools/internal/span"
 	"golang.org/x/tools/internal/telemetry/log"
 )
@@ -144,14 +144,14 @@
 		}
 		cph, err := s.checkPackageHandle(ctx, pkgID, mode)
 		if err != nil {
-			log.Error(ctx, fmt.Sprintf("cph.Check of %v", cph.m.pkgPath), err)
+			log.Error(ctx, "failed to create CheckPackageHandle", err, telemetry.Package.Of(pkgID))
 			continue
 		}
 		// Check the package now if it's not checked yet.
 		// TODO(matloob): is this too slow?
 		pkg, err := cph.check(ctx)
 		if err != nil {
-			log.Error(ctx, fmt.Sprintf("cph.Check of %v", cph.m.pkgPath), err)
+			log.Error(ctx, "failed to check package", err, telemetry.Package.Of(pkgID))
 			continue
 		}
 		results = append(results, pkg)