diff --git a/changelogs/unreleased/jv-log-lsif-zip-cache.yml b/changelogs/unreleased/jv-log-lsif-zip-cache.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bedf3c1a4c25d87db6eaa9bbc4b04dde1d41b625
--- /dev/null
+++ b/changelogs/unreleased/jv-log-lsif-zip-cache.yml
@@ -0,0 +1,5 @@
+---
+title: Add logging for local LSIF ZIP caching
+merge_request: 579
+author:
+type: added
diff --git a/internal/lsif_transformer/parser/parser.go b/internal/lsif_transformer/parser/parser.go
index 44c1e8fe835e1a23f577e466222d3dc7e2f5d6e4..085e7a856aa16bfb50be433f76809b670e5569a7 100644
--- a/internal/lsif_transformer/parser/parser.go
+++ b/internal/lsif_transformer/parser/parser.go
@@ -2,11 +2,14 @@ package parser
 
 import (
 	"archive/zip"
+	"context"
 	"errors"
 	"fmt"
 	"io"
 	"io/ioutil"
 	"os"
+
+	"gitlab.com/gitlab-org/labkit/log"
 )
 
 var (
@@ -23,7 +26,7 @@ type Config struct {
 	TempPath string
 }
 
-func NewParser(r io.Reader, config Config) (io.ReadCloser, error) {
+func NewParser(ctx context.Context, r io.Reader, config Config) (io.ReadCloser, error) {
 	docs, err := NewDocs(config)
 	if err != nil {
 		return nil, err
@@ -45,6 +48,7 @@ func NewParser(r io.Reader, config Config) (io.ReadCloser, error) {
 	if err != nil {
 		return nil, err
 	}
+	log.WithContextFields(ctx, log.Fields{"lsif_zip_cache_bytes": size}).Print("cached incoming LSIF zip on disk")
 
 	zr, err := zip.NewReader(tempFile, size)
 	if err != nil {
diff --git a/internal/lsif_transformer/parser/parser_test.go b/internal/lsif_transformer/parser/parser_test.go
index 314df02b1d10df5d72f81b67fae4d5eda8e98e01..3a4d72360e2ba460f8cc4ddd990a5477cdcac5b3 100644
--- a/internal/lsif_transformer/parser/parser_test.go
+++ b/internal/lsif_transformer/parser/parser_test.go
@@ -3,6 +3,7 @@ package parser
 import (
 	"archive/zip"
 	"bytes"
+	"context"
 	"encoding/json"
 	"io"
 	"io/ioutil"
@@ -42,7 +43,7 @@ func createFiles(t *testing.T, filePath, tmpDir string) {
 	file, err := os.Open(filePath)
 	require.NoError(t, err)
 
-	parser, err := NewParser(file, Config{})
+	parser, err := NewParser(context.Background(), file, Config{})
 	require.NoError(t, err)
 
 	zipFileName := tmpDir + ".zip"
diff --git a/internal/lsif_transformer/parser/performance_test.go b/internal/lsif_transformer/parser/performance_test.go
index d3ecc1ed5c12da241b887a644ecf4f2b1775e740..5a12d90072f47bff175df222879c13986ab4a5f7 100644
--- a/internal/lsif_transformer/parser/performance_test.go
+++ b/internal/lsif_transformer/parser/performance_test.go
@@ -1,6 +1,7 @@
 package parser
 
 import (
+	"context"
 	"io"
 	"io/ioutil"
 	"os"
@@ -21,7 +22,7 @@ func BenchmarkGenerate(b *testing.B) {
 			file, err := os.Open(filePath)
 			require.NoError(b, err)
 
-			parser, err := NewParser(file, Config{})
+			parser, err := NewParser(context.Background(), file, Config{})
 			require.NoError(b, err)
 
 			_, err = io.Copy(ioutil.Discard, parser)
diff --git a/internal/upload/rewrite.go b/internal/upload/rewrite.go
index 80928d64cffa3dc5284e00e8ff6ea4937bdcad62..3da2991acb2422f24605dd0f2e0a23380d07d229 100644
--- a/internal/upload/rewrite.go
+++ b/internal/upload/rewrite.go
@@ -187,7 +187,7 @@ func handleLsifUpload(ctx context.Context, reader io.Reader, tempPath, filename
 		TempPath: tempPath,
 	}
 
-	return parser.NewParser(reader, parserConfig)
+	return parser.NewParser(ctx, reader, parserConfig)
 }
 
 func (rew *rewriter) copyPart(ctx context.Context, name string, p *multipart.Part) error {