nuttx/drivers/syslog
liwangzhu 19fa9c1c67 drivers/syslog: add millisecond option for syslog timestamp formatting
This commit introduces a new Kconfig option SYSLOG_TIMESTAMP_MS to allowconfiguring
syslog timestamps to use milliseconds (ms) instead of the default microseconds (µs).

Key changes:
1. Add CONFIG_SYSLOG_TIMESTAMP_MS boolean Kconfig option (depends on SYSLOG_TIMESTAMP),
   default disabled. This option lets users choose between millisecond and microsecond
   precision in syslog timestamps.

2. Modify the timestamp format string in nx_vsyslog():
  a. When CONFIG_SYSLOG_TIMESTAMP_MS is enabled: Use [%5ju.%03ld] (3 digits for ms).
  b. When disabled (default): Retain original [%5ju.%06ld] (6 digits for µs).

3. Adjust the timestamp value calculation:
  a. For ms: Divide nanoseconds by NSEC_PER_MSEC (1,000,000) to get millisecond value.
  b. For µs (default): Retain division by NSEC_PER_USEC (1,000) for microsecond value.

This enhancement provides flexibility in syslog timestamp precision:

1. Millisecond precision reduces log line length and is sufficient for many use cases.
2. Maintains backward compatibility (microseconds remain the default).
3. The Kconfig dependency ensures the option is only visible when timestamps are enabled.

The change is fully conditional and has no impact on existing behavior unless the new option is explicitly enabled.

Signed-off-by: liwangzhu <liwangzhu@bytedance.com>
Signed-off-by: chao an <anchao.archer@bytedance.com>
2026-02-27 08:09:31 -03:00
..
CMakeLists.txt sched/syslog: Add early_syslog() for early boot or system down debugging 2025-10-31 08:29:17 -03:00
Kconfig drivers/syslog: add millisecond option for syslog timestamp formatting 2026-02-27 08:09:31 -03:00
Make.defs Documentation: Add description for early_syslog() 2025-10-31 08:29:17 -03:00
ramlog.c driver/ramlog: Implement the rate limiting function for ramlog driver. 2026-01-27 03:17:05 +08:00
syslog.h syslog/inbuffer: refactor intbuffer to circbuf 2024-12-17 20:48:23 +08:00
syslog_channel.c drivers/syslog/syslog_channel.c: fix incompatible-pointer-types compile errors 2025-08-07 10:16:20 -03:00
syslog_chardev.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_console.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_consolechannel.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_devchannel.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_device.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
syslog_early.c sched/syslog: Add early_syslog() for early boot or system down debugging 2025-10-31 08:29:17 -03:00
syslog_filechannel.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_flush.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_initialize.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_intbuffer.c sched/spin_lock: rename raw_spin_lock to spin_lock_notrace 2025-02-13 20:48:15 +08:00
syslog_rpmsg.c syslog/rpmsg: disable force put char to lower putc 2025-06-03 17:33:03 +08:00
syslog_rpmsg.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_rpmsg_server.c syslog/rpmsg_server: fix build break if enable SYSLOG_RPMSG/SYSLOG_RPMSG_SERVER 2025-02-25 10:51:37 +01:00
syslog_stream.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
syslog_write.c sched/signal: Add support for partially disabling signals 2026-01-18 08:24:13 -03:00
vsyslog.c drivers/syslog: add millisecond option for syslog timestamp formatting 2026-02-27 08:09:31 -03:00
vsyslog_rfc5424.c drivers/syslog: Add RFC 5424 protocol support 2025-06-13 20:26:57 +08:00