From: Tom Hromatka Date: Fri, 19 May 2023 21:59:36 +0000 (-0600) Subject: python: Add bindings for cgroup_set_default_logger() X-Git-Tag: v3.1.0~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13c233dddd24e5b0ebcbca9987f09721dd47e57a;p=thirdparty%2Flibcgroup.git python: Add bindings for cgroup_set_default_logger() Signed-off-by: Tom Hromatka Reviewed-by: Kamalesh Babulal --- diff --git a/src/python/cgroup.pxd b/src/python/cgroup.pxd index ec326032..31d9ad4a 100644 --- a/src/python/cgroup.pxd +++ b/src/python/cgroup.pxd @@ -47,6 +47,13 @@ cdef extern from "libcgroup.h": cgroup_systemd_mode_t mode pid_t pid + cdef enum cgroup_log_level: + CGROUP_LOG_CONT + CGROUP_LOG_ERROR + CGROUP_LOG_WARNING + CGROUP_LOG_INFO + CGROUP_LOG_DEBUG + int cgroup_init() const cgroup_library_version * cgroup_version() @@ -119,4 +126,6 @@ cdef extern from "libcgroup.h": char **current_path) int cgroup_change_cgroup_path(const char *dest, pid_t pid, const char * const controllers[]) + + void cgroup_set_default_logger(int log_level) # vim: set et ts=4 sw=4: diff --git a/src/python/libcgroup.pyx b/src/python/libcgroup.pyx index d1925f38..ded55a3f 100644 --- a/src/python/libcgroup.pyx +++ b/src/python/libcgroup.pyx @@ -37,6 +37,13 @@ cdef class SystemdMode: CGROUP_SYSTEMD_MODE_IGNORE_DEPS = cgroup.CGROUP_SYSTEMD_MODE_IGNORE_DEPS CGROUP_SYSTEMD_MODE_IGNORE_REQS = cgroup.CGROUP_SYSTEMD_MODE_IGNORE_REQS +cdef class LogLevel: + CGROUP_LOG_CONT = cgroup.CGROUP_LOG_CONT + CGROUP_LOG_ERROR = cgroup.CGROUP_LOG_ERROR + CGROUP_LOG_WARNING = cgroup.CGROUP_LOG_WARNING + CGROUP_LOG_INFO = cgroup.CGROUP_LOG_INFO + CGROUP_LOG_DEBUG = cgroup.CGROUP_LOG_DEBUG + def c_str(string): return bytes(string, "ascii") @@ -710,6 +717,18 @@ cdef class Cgroup: raise RuntimeError("cgroup_change_cgroup_path failed :" "{}".format(ret)) + @staticmethod + def log_level(log_level): + """Set the libcgroup log level + + Arguments: + log_level - libcgroup.LogLevel + + Description: + Set the libcgroup logger to stdout at the specified log_level + """ + cgroup.cgroup_set_default_logger(log_level) + def __dealloc__(self): cgroup.cgroup_free(&self._cgp);