diff --git a/doc/api/miscellaneous.rst b/doc/api/miscellaneous.rst index a0f3e48e..2e83b090 100644 --- a/doc/api/miscellaneous.rst +++ b/doc/api/miscellaneous.rst @@ -4,7 +4,7 @@ Miscellaneous Debugging and Diagnostics ------------------------- -.. doxygenfunction:: osdp_logger_init +.. doxygenfunction:: osdp_logger_init3 .. doxygenfunction:: osdp_get_version diff --git a/doc/libosdp/debugging.rst b/doc/libosdp/debugging.rst index f91871d6..e0d99e44 100644 --- a/doc/libosdp/debugging.rst +++ b/doc/libosdp/debugging.rst @@ -27,12 +27,12 @@ Log Level LibOSDP supports different logging levels with ``LOG_DEBUG`` being the most verbose mode. When asking for help, please set the log level to ``LOG_DEBUG``. -This can be done by calling osdp_logger_init() BEFORE calling osdp_cp/pd_setup() +This can be done by calling osdp_logger_init3() BEFORE calling osdp_cp/pd_setup() as, .. code:: c - osdp_logger_init("osdp::cp", LOG_DEBUG, uart_puts); + osdp_logger_init3("osdp::cp", LOG_DEBUG, uart_puts); Packet Trace Builds ------------------- diff --git a/include/osdp.h b/include/osdp.h index 3f2aa527..6cd47d5a 100644 --- a/include/osdp.h +++ b/include/osdp.h @@ -976,9 +976,24 @@ typedef int (*osdp_log_puts_fn_t)(const char *msg); * definition to see the behavioral expectations. When this is * set to NULL, LibOSDP will log to stderr. */ -void osdp_logger_init(const char *name, int log_level, +void osdp_logger_init3(const char *name, int log_level, osdp_log_puts_fn_t puts_fn); +/** + * @brief Configure OSDP Logging (deprecated). Provided for backward + * compatiblity. Use osdp_logger_init3 instead. + * + * @param log_level OSDP log levels of type `enum osdp_log_level_e`. Default is + * LOG_INFO. + * @param puts_fn A puts() like function that will be invoked to write the log + * buffer. Can be handy if you want to log to file on a UART + * device without putchar redirection. See `osdp_log_puts_fn_t` + * definition to see the behavioral expectations. When this is + * set to NULL, LibOSDP will log to stderr. + */ +void osdp_logger_init(int log_level, osdp_log_puts_fn_t puts_fn) + __attribute__((deprecated("Use osdp_logger_init3 instead!"))); + /** * @brief Get LibOSDP version as a `const char *`. Used in diagnostics. * diff --git a/include/osdp.hpp b/include/osdp.hpp index f82a261c..8f24db1e 100644 --- a/include/osdp.hpp +++ b/include/osdp.hpp @@ -21,7 +21,7 @@ class Common { void logger_init(const char *name, int log_level, osdp_log_puts_fn_t puts_fn) { - osdp_logger_init(name, log_level, puts_fn); + osdp_logger_init3(name, log_level, puts_fn); } const char *get_version() diff --git a/osdpctl/cmd_start.c b/osdpctl/cmd_start.c index 0739686e..1d4594e9 100644 --- a/osdpctl/cmd_start.c +++ b/osdpctl/cmd_start.c @@ -317,7 +317,7 @@ int cmd_handler_start(int argc, char *argv[], void *data) info->scbk = NULL; } - osdp_logger_init("osdp::cp", c->log_level, NULL); + osdp_logger_init3("osdp::cp", c->log_level, NULL); if (c->mode == CONFIG_MODE_CP) { c->cp_ctx = osdp_cp_setup2(c->num_pd, info_arr); diff --git a/python/pyosdp_base.c b/python/pyosdp_base.c index 8f9b0d4c..b348701e 100644 --- a/python/pyosdp_base.c +++ b/python/pyosdp_base.c @@ -214,7 +214,7 @@ static PyObject *pyosdp_set_loglevel(pyosdp_base_t *self, PyObject *args) return NULL; } - osdp_logger_init("pyosdp", log_level, NULL); + osdp_logger_init3("pyosdp", log_level, NULL); Py_RETURN_NONE; } @@ -263,7 +263,7 @@ static int pyosdp_base_tp_init(pyosdp_base_t *self, PyObject *args, PyObject *kw channel_manager_init(&self->channel_manager); - osdp_logger_init("pyosdp", OSDP_LOG_INFO, NULL); + osdp_logger_init3("pyosdp", OSDP_LOG_INFO, NULL); return 0; } diff --git a/samples/c/cp_app.c b/samples/c/cp_app.c index 2fefef93..0e84346e 100644 --- a/samples/c/cp_app.c +++ b/samples/c/cp_app.c @@ -53,7 +53,7 @@ int main() { osdp_t *ctx; - osdp_logger_init("osdp::cp", OSDP_LOG_DEBUG, NULL); + osdp_logger_init3("osdp::cp", OSDP_LOG_DEBUG, NULL); ctx = osdp_cp_setup2(1, pd_info); if (ctx == NULL) { diff --git a/samples/c/pd_app.c b/samples/c/pd_app.c index ec39ab7b..dcf2ce09 100644 --- a/samples/c/pd_app.c +++ b/samples/c/pd_app.c @@ -85,7 +85,7 @@ int main() { osdp_t *ctx; - osdp_logger_init("osdp::pd", OSDP_LOG_DEBUG, NULL); + osdp_logger_init3("osdp::pd", OSDP_LOG_DEBUG, NULL); ctx = osdp_pd_setup(&info_pd); if (ctx == NULL) { diff --git a/src/osdp_common.c b/src/osdp_common.c index b525d99e..e9f035c6 100644 --- a/src/osdp_common.c +++ b/src/osdp_common.c @@ -192,7 +192,7 @@ int osdp_rb_pop_buf(struct osdp_rb *p, uint8_t *buf, int max_len) /* --- Exported Methods --- */ OSDP_EXPORT -void osdp_logger_init(const char *name, int log_level, +void osdp_logger_init3(const char *name, int log_level, osdp_log_puts_fn_t log_fn) { logger_t ctx; @@ -209,6 +209,12 @@ void osdp_logger_init(const char *name, int log_level, logger_set_default(&ctx); /* Mark this config as logging default */ } +OSDP_EXPORT +void osdp_logger_init(int log_level, osdp_log_puts_fn_t log_fn) +{ + osdp_logger_init3("osdp", log_level, log_fn); +} + OSDP_EXPORT const char *osdp_get_version() { diff --git a/tests/unit-tests/test-cp-fsm.c b/tests/unit-tests/test-cp-fsm.c index 64813947..61cc7c3d 100644 --- a/tests/unit-tests/test-cp-fsm.c +++ b/tests/unit-tests/test-cp-fsm.c @@ -94,7 +94,7 @@ int test_cp_fsm_setup(struct test *t) .channel.flush = NULL, .scbk = NULL, }; - osdp_logger_init("osdp::cp", t->loglevel, NULL); + osdp_logger_init3("osdp::cp", t->loglevel, NULL); struct osdp *ctx = (struct osdp *)osdp_cp_setup2(1, &info); if (ctx == NULL) { printf(" init failed!\n"); diff --git a/tests/unit-tests/test-cp-phy-fsm.c b/tests/unit-tests/test-cp-phy-fsm.c index 81a6f6df..a8a08a46 100644 --- a/tests/unit-tests/test-cp-phy-fsm.c +++ b/tests/unit-tests/test-cp-phy-fsm.c @@ -97,7 +97,7 @@ int test_cp_phy_fsm_setup(struct test *t) .channel.flush = NULL, .scbk = NULL, }; - osdp_logger_init("osdp::cp", t->loglevel, NULL); + osdp_logger_init3("osdp::cp", t->loglevel, NULL); struct osdp *ctx = (struct osdp *)osdp_cp_setup2(1, &info); if (ctx == NULL) { printf(" init failed!\n"); diff --git a/tests/unit-tests/test-cp-phy.c b/tests/unit-tests/test-cp-phy.c index bfea03b8..450d3a53 100644 --- a/tests/unit-tests/test-cp-phy.c +++ b/tests/unit-tests/test-cp-phy.c @@ -147,7 +147,7 @@ int test_cp_phy_setup(struct test *t) .channel.flush = NULL, .scbk = NULL, }; - osdp_logger_init("osdp::cp", t->loglevel, NULL); + osdp_logger_init3("osdp::cp", t->loglevel, NULL); struct osdp *ctx = (struct osdp *)osdp_cp_setup2(1, &info); if (ctx == NULL) { printf(SUB_1 "init failed!\n"); diff --git a/tests/unit-tests/test.c b/tests/unit-tests/test.c index 6cc2e0b1..a96b3128 100644 --- a/tests/unit-tests/test.c +++ b/tests/unit-tests/test.c @@ -195,7 +195,7 @@ int test_mock_pd_receive(void *data, uint8_t *buf, int len) int test_setup_devices(struct test *t, osdp_t **cp, osdp_t **pd) { - osdp_logger_init("osdp", t->loglevel, NULL); + osdp_logger_init3("osdp", t->loglevel, NULL); uint8_t scbk[16] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,