diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp
index 0d18e75..c1ddd7c 100644
--- a/src/libcamera/device_enumerator.cpp
+++ b/src/libcamera/device_enumerator.cpp
@@ -211,6 +211,9 @@ int DeviceEnumerator::addDevice(const std::string &devnode)
 		return ret;
 	}

+	LOG(Debug) << "New media device: " << media->driver()
+		   << " created from: " << devnode;
+
 	/* Associate entities to device node paths. */
 	for (MediaEntity *entity : media->entities()) {
 		if (entity->deviceMajor() == 0 && entity->deviceMinor() == 0)
@@ -248,8 +251,11 @@ MediaDevice *DeviceEnumerator::search(const DeviceMatch &dm) const
 		if (dev->busy())
 			continue;

-		if (dm.match(dev))
+		if (dm.match(dev)) {
+			LOG(Debug) << "Succesfull match for media device: "
+				   << dev->driver();
 			return dev;
+		}
 	}

 	return nullptr;
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index ee76948..9299c28 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -116,6 +116,7 @@ void PipelineHandlerFactory::registerType(const std::string &name,
 		return;
 	}

+	LOG(Debug) << "Pipeline handler: \"" << name << "\" registered";
 	factories[name] = factory;
 }

@@ -145,8 +146,10 @@ PipelineHandler *PipelineHandlerFactory::create(const std::string &name,

 	PipelineHandler *pipe = it->second->create();

-	if (pipe->match(enumerator))
+	if (pipe->match(enumerator)) {
+		LOG(Debug) << "Pipeline handler: \"" << name << "\" matched";
 		return pipe;
+	}

 	delete pipe;
 	return nullptr;
