You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2026/05/29 21:29:47 UTC
(qpid-proton) 01/07: PROTON-2935: Setting default logger sink doesn't fully work
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-proton.git
commit 48209807deb6ae3a36c28915a78656cd1acdf0be
Author: Andrew Stitcher <as...@apache.org>
AuthorDate: Tue May 26 14:26:54 2026 -0400
PROTON-2935: Setting default logger sink doesn't fully work
If you change the default logger sink before creating a transport then
the context that you set for the default logger would get overwritten.
---
c/src/core/logger.c | 6 ++++--
c/src/core/logger_private.h | 2 +-
c/src/core/transport.c | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/c/src/core/logger.c b/c/src/core/logger.c
index 492c6c341..b9bf7cb45 100644
--- a/c/src/core/logger.c
+++ b/c/src/core/logger.c
@@ -44,10 +44,12 @@ static pn_logger_t the_default_logger = {
.sev_mask = PN_LEVEL_CRITICAL
};
-void pni_logger_init(pn_logger_t *logger)
+void pni_logger_default_init(pn_logger_t *logger)
{
*logger = the_default_logger;
- logger->sink_context = (intptr_t) logger;
+ if (logger->sink == pni_default_log_sink) {
+ logger->sink_context = (intptr_t) logger;
+ }
}
void pni_logger_fini(pn_logger_t *logger)
diff --git a/c/src/core/logger_private.h b/c/src/core/logger_private.h
index d1974073e..81c3a8373 100644
--- a/c/src/core/logger_private.h
+++ b/c/src/core/logger_private.h
@@ -38,7 +38,7 @@ struct pn_logger_t {
void pni_init_default_logger(void);
void pni_fini_default_logger(void);
-void pni_logger_init(pn_logger_t*);
+void pni_logger_default_init(pn_logger_t*);
void pni_logger_fini(pn_logger_t*);
void pni_logger_log(pn_logger_t *logger, pn_log_subsystem_t subsystem, pn_log_level_t severity, const char *message);
diff --git a/c/src/core/transport.c b/c/src/core/transport.c
index 63f642e73..313e96ada 100644
--- a/c/src/core/transport.c
+++ b/c/src/core/transport.c
@@ -407,7 +407,7 @@ static void pn_transport_initialize(void *object)
transport->output_size = PN_TRANSPORT_INITIAL_BUFFER_SIZE;
transport->input_buf = NULL;
transport->input_size = PN_TRANSPORT_INITIAL_BUFFER_SIZE;
- pni_logger_init(&transport->logger);
+ pni_logger_default_init(&transport->logger);
transport->tracer = NULL;
transport->sasl = NULL;
transport->ssl = NULL;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org