libyang 5.0.8
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
Loading...
Searching...
No Matches
log.h
Go to the documentation of this file.
1
15
16#ifndef LY_LOG_H_
17#define LY_LOG_H_
18
19#include <stdint.h>
20
21#include "ly_config.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27struct ly_ctx;
28struct lyd_node;
29struct lysc_node;
30
36typedef uint8_t ly_bool;
37
76
84
89typedef enum {
96
107LIBYANG_API_DECL LY_LOG_LEVEL ly_log_level(LY_LOG_LEVEL level);
108
119#define LY_LOLOG 0x01
121#define LY_LOSTORE 0x02
123#define LY_LOSTORE_LAST 0x06
125
129
138LIBYANG_API_DECL uint32_t ly_log_options(uint32_t opts);
139
146LIBYANG_API_DECL uint32_t *ly_temp_log_options(uint32_t *opts);
147
158
159#define LY_LDGDICT 0x01
160#define LY_LDGXPATH 0x02
161#define LY_LDGDEPSETS 0x04
162
166
176LIBYANG_API_DECL uint32_t ly_log_dbg_groups(uint32_t dbg_groups);
177
187typedef void (*ly_log_clb)(LY_LOG_LEVEL level, const char *msg, const char *data_path, const char *schema_path,
188 uint64_t line);
189
197LIBYANG_API_DECL void ly_set_log_clb(ly_log_clb clb);
198
204LIBYANG_API_DECL ly_log_clb ly_get_log_clb(void);
205
215
217
239
247
272
293
309
316LIBYANG_API_DECL const char *ly_strerr(LY_ERR err);
317
324LIBYANG_API_DECL const char *ly_strvecode(LY_VECODE vecode);
325
334LIBYANG_API_DECL const char *ly_last_logmsg(void);
335
342LIBYANG_API_DECL const struct ly_err_item *ly_err_first(const struct ly_ctx *ctx);
343
350LIBYANG_API_DECL const struct ly_err_item *ly_err_last(const struct ly_ctx *ctx);
351
360LIBYANG_API_DECL void ly_err_print(const struct ly_ctx *ctx, const struct ly_err_item *eitem,
361 const struct lyd_node *lnode, const struct lysc_node *snode);
362
371LIBYANG_API_DECL void ly_err_clean(const struct ly_ctx *ctx, struct ly_err_item *eitem);
372
374
375#ifdef __cplusplus
376}
377#endif
378
379#endif /* LY_LOG_H_ */
libyang context handler.
struct ly_err_item * prev
Definition log.h:307
LY_ERR err
Definition log.h:299
LY_VECODE vecode
Definition log.h:300
char * schema_path
Definition log.h:303
uint64_t line
Definition log.h:304
char * data_path
Definition log.h:302
char * apptag
Definition log.h:305
char * msg
Definition log.h:301
struct ly_err_item * next
Definition log.h:306
LY_LOG_LEVEL level
Definition log.h:298
LIBYANG_API_DECL const char * ly_last_logmsg(void)
Get the last (thread-specific) full logged error message.
LIBYANG_API_DECL const struct ly_err_item * ly_err_last(const struct ly_ctx *ctx)
Get the latest (thread, context-specific) generated error structure.
LIBYANG_API_DECL const char * ly_strerr(LY_ERR err)
Get human-readable error message for an error code.
LIBYANG_API_DECL void ly_err_print(const struct ly_ctx *ctx, const struct ly_err_item *eitem, const struct lyd_node *lnode, const struct lysc_node *snode)
Print the error structure as if just generated.
LY_ERR
libyang's error codes returned by the libyang functions.
Definition log.h:252
LIBYANG_API_DECL const char * ly_strvecode(LY_VECODE vecode)
Get human-readable error message for a validation error code.
LIBYANG_API_DECL const struct ly_err_item * ly_err_first(const struct ly_ctx *ctx)
Get the first (thread, context-specific) generated error structure.
LIBYANG_API_DECL void ly_err_clean(const struct ly_ctx *ctx, struct ly_err_item *eitem)
Free error structures from a context.
@ LYVE_OTHER
Definition log.h:291
@ LYVE_SYNTAX_JSON
Definition log.h:288
@ LYVE_SYNTAX
Definition log.h:281
@ LYVE_SYNTAX_XML
Definition log.h:287
@ LYVE_DATA
Definition log.h:289
@ LYVE_XPATH
Definition log.h:285
@ LYVE_SEMANTICS
Definition log.h:286
@ LYVE_SYNTAX_YANG
Definition log.h:282
@ LYVE_SUCCESS
Definition log.h:280
@ LYVE_REFERENCE
Definition log.h:284
@ LYVE_SYNTAX_YIN
Definition log.h:283
@ LY_EOTHER
Definition log.h:267
@ LY_EDENIED
Definition log.h:261
@ LY_EINVAL
Definition log.h:256
@ LY_ESYS
Definition log.h:255
@ LY_EMEM
Definition log.h:254
@ LY_EEXIST
Definition log.h:257
@ LY_ENOT
Definition log.h:266
@ LY_EVALID
Definition log.h:260
@ LY_EINT
Definition log.h:259
@ LY_ENOTFOUND
Definition log.h:258
@ LY_SUCCESS
Definition log.h:253
@ LY_EPLUGIN
Definition log.h:269
@ LY_ERECOMPILE
Definition log.h:264
@ LY_EINCOMPLETE
Definition log.h:262
Libyang full error structure.
Definition log.h:297
LIBYANG_API_DECL ly_log_clb ly_temp_log_clb(ly_log_clb clb)
Set temporary thread-safe (thread-specific) logger callback ovewriting that set by ly_set_log_clb.
LIBYANG_API_DECL uint32_t ly_log_dbg_groups(uint32_t dbg_groups)
Enable specific debugging messages (independent of log level).
LY_VECODE
libyang's codes of validation error. Whenever ly_errno is set to LY_EVALID, the ly_vecode is also set...
Definition log.h:279
void(* ly_log_clb)(LY_LOG_LEVEL level, const char *msg, const char *data_path, const char *schema_path, uint64_t line)
Logger callback.
Definition log.h:187
LIBYANG_API_DECL ly_log_clb ly_get_log_clb(void)
Get global logger callback.
LIBYANG_API_DECL LY_LOG_LEVEL ly_log_level(LY_LOG_LEVEL level)
Set logger verbosity level.
LIBYANG_API_DECL uint32_t * ly_temp_log_options(uint32_t *opts)
Set temporary thread-safe (thread-specific) logger options overwriting those set by ly_log_options().
LIBYANG_API_DECL uint32_t ly_log_options(uint32_t opts)
Set global logger options. Default is LY_LOLOG | LY_LOSTORE_LAST.
LY_LOG_LEVEL
Verbosity levels of the libyang logger.
Definition log.h:89
LIBYANG_API_DECL void ly_set_log_clb(ly_log_clb clb)
Set global logger callback.
@ LY_LLERR
Definition log.h:90
@ LY_LLVRB
Definition log.h:92
@ LY_LLWRN
Definition log.h:91
@ LY_LLDBG
Definition log.h:93
Compiled YANG data node.
uint8_t ly_bool
Type to indicate boolean value.
Definition log.h:36
Generic structure for a data node.
Definition tree_data.h:800