[libcamera-devel] [PATCH 04/19] libcamera: log: Print the thread ID in the log

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Jan 20 01:24:22 CET 2020


The current thread ID is useful when debugging concurrency issues. Print
it in log messages. The syslog target is left out as the thread ID would
have little use there, and partly duplicates the process ID.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
 src/libcamera/log.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp
index f4eb8c11adc3..1dac4666b435 100644
--- a/src/libcamera/log.cpp
+++ b/src/libcamera/log.cpp
@@ -22,6 +22,7 @@
 
 #include <libcamera/logging.h>
 
+#include "thread.h"
 #include "utils.h"
 
 /**
@@ -196,7 +197,8 @@ void LogOutput::write(const LogMessage &msg)
 		break;
 	case LoggingTargetStream:
 	case LoggingTargetFile:
-		str = "[" + utils::time_point_to_string(msg.timestamp()) + "]"
+		str = "[" + utils::time_point_to_string(msg.timestamp()) + "] ["
+		    + std::to_string(Thread::currentId()) + "]"
 		    + log_severity_name(msg.severity()) + " "
 		    + msg.category().name() + " " + msg.fileInfo() + " "
 		    + msg.msg();
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list