summaryrefslogtreecommitdiff
path: root/components/utilities
diff options
context:
space:
mode:
authorwdfk-prog <[email protected]>2025-11-17 16:56:38 +0800
committerR b b666 <[email protected]>2025-11-18 09:55:37 +0800
commite1f609fe3a8b13433ec2fe76834548286d01bddd (patch)
tree8e8c1f7b69f165386f2f8d4b586bf25f2c555a6d /components/utilities
parentde784f7cf263aad758f57e56881d0c81fd6aecda (diff)
feat(ulog): Add a one-time warning when the log line buffer is insufficient
Diffstat (limited to 'components/utilities')
-rw-r--r--components/utilities/ulog/ulog.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/components/utilities/ulog/ulog.c b/components/utilities/ulog/ulog.c
index 1a589e6a62..697aa248bc 100644
--- a/components/utilities/ulog/ulog.c
+++ b/components/utilities/ulog/ulog.c
@@ -421,6 +421,17 @@ rt_weak rt_size_t ulog_tail_formater(char *log_buf, rt_size_t log_len, rt_bool_t
return log_len;
}
+static void ulog_no_enough_buffer_printf(void)
+{
+ static rt_bool_t already_output = RT_FALSE;
+ if (already_output == RT_FALSE)
+ {
+ rt_kprintf("Warning: There is not enough buffer to output the log,"
+ " please increase the ULOG_LINE_BUF_SIZE option.\n");
+ already_output = RT_TRUE;
+ }
+}
+
rt_weak rt_size_t ulog_formater(char *log_buf, rt_uint32_t level, const char *tag, rt_bool_t newline,
const char *format, va_list args)
{
@@ -444,6 +455,7 @@ rt_weak rt_size_t ulog_formater(char *log_buf, rt_uint32_t level, const char *ta
{
/* using max length */
log_len = ULOG_LINE_BUF_SIZE;
+ ulog_no_enough_buffer_printf();
}
/* log tail */
return ulog_tail_formater(log_buf, log_len, newline, level);
@@ -472,6 +484,7 @@ rt_weak rt_size_t ulog_hex_formater(char *log_buf, const char *tag, const rt_uin
else
{
log_len = ULOG_LINE_BUF_SIZE;
+ ulog_no_enough_buffer_printf();
}
/* dump hex */
for (j = 0; j < width; j++)