Skip to content

Commit c195117

Browse files
jeanseb6windrjarry
authored andcommitted
log: add getter for syslog and stderr logging
It is now possible to get current log level of syslog and stderr configuration. Signed-off-by: Jean-Sébastien Bevilacqua <jean-sebastien.bevilacqua@6wind.com>
1 parent a32a0f0 commit c195117

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

cffi/cdefs.h

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ extern "Python" void srpy_log_cb(sr_log_level_t, const char *);
3838
void sr_log_set_cb(void (*)(sr_log_level_t, const char *));
3939
void sr_log_stderr(sr_log_level_t);
4040
void sr_log_syslog(const char *app_name, sr_log_level_t);
41+
sr_log_level_t sr_log_get_stderr(void);
42+
sr_log_level_t sr_log_get_syslog(void);
4143

4244
typedef struct sr_conn_ctx_s sr_conn_ctx_t;
4345
typedef struct sr_session_ctx_s sr_session_ctx_t;

sysrepo/__init__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
SysrepoUnsupportedError,
2929
SysrepoValidationFailedError,
3030
)
31-
from .util import configure_logging
31+
from .util import configure_logging, get_stderr_level, get_syslog_level
3232
from .value import (
3333
AnyData,
3434
AnyXML,
@@ -104,4 +104,6 @@
104104
"Value",
105105
"update_config_cache",
106106
"configure_logging",
107+
"get_syslog_level",
108+
"get_stderr_level",
107109
]

sysrepo/util.py

+22
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,25 @@ def configure_logging(
8989
lib.sr_log_set_cb(lib.srpy_log_cb)
9090
else:
9191
lib.sr_log_set_cb(ffi.NULL)
92+
93+
94+
# ------------------------------------------------------------------------------
95+
def get_syslog_level() -> int:
96+
"""
97+
Return current syslog log level.
98+
99+
:returns int:
100+
The log level.
101+
"""
102+
return LOG_LEVELS_SR2PY.get(lib.sr_log_get_syslog(), logging.NOTSET)
103+
104+
105+
# ------------------------------------------------------------------------------
106+
def get_stderr_level() -> int:
107+
"""
108+
Return current stderr log level.
109+
110+
:returns int:
111+
The log level.
112+
"""
113+
return LOG_LEVELS_SR2PY.get(lib.sr_log_get_stderr(), logging.NOTSET)

0 commit comments

Comments
 (0)