diff --git a/cmd/agent/app/processors/thrift_processor.go b/cmd/agent/app/processors/thrift_processor.go
index a840bf04c36..0c25b7f0f24 100644
--- a/cmd/agent/app/processors/thrift_processor.go
+++ b/cmd/agent/app/processors/thrift_processor.go
@@ -111,13 +111,13 @@ func (s *ThriftProcessor) processBuffer() {
 		payload := readBuf.GetBytes()
 		protocol.Transport().Write(payload)
 		s.logger.Debug("Span(s) received by the agent", zap.Int("bytes-received", len(payload)))
-		s.server.DataRecd(readBuf) // acknowledge receipt and release the buffer
 
-		if ok, _ := s.handler.Process(protocol, protocol); !ok {
-			// TODO log the error
+		if ok, err := s.handler.Process(protocol, protocol); !ok {
+			s.logger.Error("Processor failed", zap.Error(err))
 			s.metrics.HandlerProcessError.Inc(1)
 		}
 		s.protocolPool.Put(protocol)
+		s.server.DataRecd(readBuf) // acknowledge receipt and release the buffer
 	}
 	s.processing.Done()
 }