diff --git a/gddo-server/main.go b/gddo-server/main.go
index 6c0c5c4..d0f12a5 100644
--- a/gddo-server/main.go
+++ b/gddo-server/main.go
@@ -1076,27 +1076,31 @@
 
 func (s *server) teeRequestToPkgGoDev(r *http.Request, latency time.Duration, status int) {
 	if !shouldTeeRequest(r.URL.Path) {
-		log.Printf("teeRequestToPkgGoDev(%q): not teeing request", r.URL.Path)
+		log.Printf("s.teeRequestToPkgGoDev: shouldTeeRequest(%q): not teeing request", r.URL.Path)
 		return
 	}
 	val := os.Getenv("GDDO_TEE_REQUESTS_TO_PKGGODEV")
 	if strings.ToLower(val) != "true" {
-		log.Printf("not sending requests to pkg.go.dev (GDDO_TEE_REQUESTS_TO_PKGGODEV = %q)", val)
+		log.Printf("s.teeRequestToPkgGoDev: not sending requests to pkg.go.dev (GDDO_TEE_REQUESTS_TO_PKGGODEV = %q)", val)
 		return
 	}
 
+	log.Printf("s.teeRequestToPkgGoDev: teeRequestToPkgGoDev for %q (%d)", r.URL.Path, status)
 	gddoEvent, pkggodevEvent := teeRequestToPkgGoDev(r, latency, s.isRobot(r), status)
 	payload := map[string]interface{}{
 		"godoc.org":  gddoEvent,
 		"pkg.go.dev": pkggodevEvent,
 	}
+	log.Printf("s.teeRequestToPkgGoDev: logging gddoEvent and pkggodevEvent: %q", r.URL.Path)
 	if s.gceLogger == nil {
+		log.Printf("no s.gceLogger: %q", r.URL.Path)
 		for k, v := range payload {
 			log.Printf("%q", k)
 			log.Printf("%+v", v)
 		}
 		return
 	}
+	log.Printf("s.teeRequestToPkgGoDev: s.gceLogger.Log:%q", r.URL.Path)
 	s.gceLogger.Log(logging.Entry{
 		HTTPRequest: &logging.HTTPRequest{
 			Request: r,
