[libcamera-devel] [PATCH v2 02/14] py: Add Python logging category

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Wed Jun 29 09:04:04 CEST 2022


Add Python logging category, and use it in handleRequestCompleted().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/py/libcamera/py_main.cpp | 12 ++++++++++--
 src/py/libcamera/py_main.h   | 14 ++++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 src/py/libcamera/py_main.h

diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp
index 505cc3dc..4b698f77 100644
--- a/src/py/libcamera/py_main.cpp
+++ b/src/py/libcamera/py_main.cpp
@@ -5,6 +5,8 @@
  * Python bindings
  */
 
+#include "py_main.h"
+
 #include <mutex>
 #include <stdexcept>
 #include <sys/eventfd.h>
@@ -23,6 +25,12 @@ namespace py = pybind11;
 
 using namespace libcamera;
 
+namespace libcamera {
+
+LOG_DEFINE_CATEGORY(Python)
+
+}
+
 template<typename T>
 static py::object valueOrTuple(const ControlValue &cv)
 {
@@ -120,10 +128,10 @@ static void handleRequestCompleted(Request *req)
 	size_t s = write(gEventfd, &v, 8);
 	/*
 	 * We should never fail, and have no simple means to manage the error,
-	 * so let's use LOG(Fatal).
+	 * so let's log a fatal error.
 	 */
 	if (s != 8)
-		LOG(Fatal) << "Unable to write to eventfd";
+		LOG(Python, Fatal) << "Unable to write to eventfd";
 }
 
 void init_py_enums(py::module &m);
diff --git a/src/py/libcamera/py_main.h b/src/py/libcamera/py_main.h
new file mode 100644
index 00000000..5bb5f2d1
--- /dev/null
+++ b/src/py/libcamera/py_main.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2022, Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
+ */
+
+#pragma once
+
+#include <libcamera/base/log.h>
+
+namespace libcamera {
+
+LOG_DECLARE_CATEGORY(Python)
+
+}
-- 
2.34.1



More information about the libcamera-devel mailing list