m/n/core/rpc: do not log RPC traces from NodeManagement.Logs

Change-Id: I3106d7fe66a8cdd047e08af62844b20d11636bf5
Reviewed-on: https://review.monogon.dev/c/monogon/+/1438
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/core/rpc/server_authentication.go b/metropolis/node/core/rpc/server_authentication.go
index 5543b83..516883a 100644
--- a/metropolis/node/core/rpc/server_authentication.go
+++ b/metropolis/node/core/rpc/server_authentication.go
@@ -56,7 +56,11 @@
 func (s *ServerSecurity) streamInterceptor(logger logtree.LeveledLogger) grpc.StreamServerInterceptor {
 	return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
 		var span *logtreeSpan
-		if logger != nil {
+		// HACK: Do not log any log retrieval methods into the log, otherwise logs blow up
+		// on retrieval.
+		//
+		// TOOD(q3k): make this more generic
+		if logger != nil && info.FullMethod != "/metropolis.proto.api.NodeManagement/Logs" {
 			span = newLogtreeSpan(logger)
 			span.Printf("RPC invoked: streaming request: %s", info.FullMethod)
 			ss = &spanServerStream{