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 2022/06/14 17:15:06 UTC
[qpid-proton] 02/02: PROTON-2562: Use a fixed size buffer for more log messages
This is an automated email from the ASF dual-hosted git repository.
astitcher pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-proton.git
commit a0443f64b2394947100c4f364f72af9a9f41ee31
Author: Andrew Stitcher <as...@apache.org>
AuthorDate: Wed Dec 15 22:28:50 2021 -0500
PROTON-2562: Use a fixed size buffer for more log messages
The log messages that still use a pn_string_t either use that type
because of internal APIs.
---
c/src/core/logger.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/c/src/core/logger.c b/c/src/core/logger.c
index 0ea4fba59..2ee9e1dd1 100644
--- a/c/src/core/logger.c
+++ b/c/src/core/logger.c
@@ -247,8 +247,16 @@ void pni_logger_log(pn_logger_t *logger, pn_log_subsystem_t subsystem, pn_log_le
void pni_logger_vlogf(pn_logger_t *logger, pn_log_subsystem_t subsystem, pn_log_level_t severity, const char *fmt, va_list ap)
{
assert(logger);
- pn_string_vformat(logger->scratch, fmt, ap);
- pni_logger_log(logger, subsystem, severity, pn_string_get(logger->scratch));
+ char buf[1024];
+ pn_fixed_string_t output = pn_fixed_string(buf, sizeof(buf));
+ pn_fixed_string_vaddf(&output, fmt, ap);
+ if (output.position==output.size) {
+ // Message overflow
+ const char truncated[] = " ... (truncated)";
+ output.position -= sizeof(truncated);
+ pn_fixed_string_append(&output, pn_string_const(truncated, sizeof(truncated)));
+ }
+ pni_logger_log(logger, subsystem, severity, buf);
}
void pn_logger_logf(pn_logger_t *logger, pn_log_subsystem_t subsystem, pn_log_level_t severity, const char *fmt, ...)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org