[libcamera-devel] [RFC v1 2/7] py: Add Python logging category
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Jun 24 11:50:51 CEST 2022
Hi Tomi,
Thank you for the patch.
On Thu, Jun 23, 2022 at 05:47:31PM +0300, Tomi Valkeinen wrote:
> Add Python logging category, and use it in handleRequestCompleted().
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
> ---
> src/py/libcamera/py_main.cpp | 8 ++++++--
> src/py/libcamera/py_main.h | 12 ++++++++++++
> 2 files changed, 18 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..17b17f60 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,8 @@ namespace py = pybind11;
>
> using namespace libcamera;
>
> +LOG_DEFINE_CATEGORY(Python)
> +
> template<typename T>
> static py::object valueOrTuple(const ControlValue &cv)
> {
> @@ -120,10 +124,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 use LOG(Python, Fatal).
You could also write "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..1b543a55
> --- /dev/null
> +++ b/src/py/libcamera/py_main.h
> @@ -0,0 +1,12 @@
> +/* 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>
> +
> +using namespace libcamera;
"using namespace" directives are discouraged in header files, as they
will propagate to all compilation units. Could this be avoided ? With
that fixed,
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> +LOG_DECLARE_CATEGORY(Python)
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list