aboutsummaryrefslogtreecommitdiff
path: root/sysklogd/Config.src
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2013-01-06 00:07:19 +0100
committerMike Frysinger <vapier@gentoo.org>2013-01-06 13:30:50 -0500
commitcd776cf96735760311560495f3f0078ae72e98a0 (patch)
tree21aa8361ce965d00921923430f4773fcc060e6cd /sysklogd/Config.src
parentd189b598b449f3a258354133180e7b770c04526c (diff)
downloadbusybox-w32-cd776cf96735760311560495f3f0078ae72e98a0.tar.gz
busybox-w32-cd776cf96735760311560495f3f0078ae72e98a0.tar.bz2
busybox-w32-cd776cf96735760311560495f3f0078ae72e98a0.zip
syslogd: add option to log to Linux kernel printk buffer
Why invent our own shared memory circular buffer when the kernel has a perfectly fine one already? This can be used as a smaller/simpler alternative to the syslogd IPC support (as IPC shmem/klogd/logread aren't needed), while also allowing centralised logging of everything (kernel messages, userspace bootup and syslog) when used together with ttyprintk. Notice that kernel 3.5+ is needed to store syslog facility in printk buffer, otherwise only the priority is stored. bloat-o-meter compared to IPC+klogd+logread: function old new delta get_linux_version_code - 84 +84 lbb_prepare 25 90 +65 applet_nameofs 6 - -6 static.stdout@@GLIBC_2 8 - -8 applet_names 23 9 -14 bb_msg_standard_output 16 - -16 init_sem 18 - -18 xatoull_range 19 - -19 overlapping_strcpy 21 - -21 init_data 56 32 -24 applet_main 24 - -24 main 124 99 -25 full_write2_str 26 - -26 error_exit 26 - -26 bb_basename 30 - -30 sem_up 32 - -32 interrupted 35 - -35 fflush_stdout_and_exit 38 - -38 bb_banner 46 - -46 find_applet_by_name 59 - -59 bb_signals_recursive_norestart 90 - -90 run_applet_no_and_exit 104 - -104 timestamp_and_log 651 523 -128 syslogd_main 798 581 -217 xstrtoull_range_sfx 267 - -267 run_applet_and_exit 432 - -432 klogd_main 490 - -490 logread_main 508 - -508 .rodata 1870 937 -933 bb_common_bufsiz1 8193 - -8193 ------------------------------------------------------------------------------ (add/remove: 2/26 grow/shrink: 1/6 up/down: 149/-11829) Total: -11680 bytes Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sysklogd/Config.src')
-rw-r--r--sysklogd/Config.src16
1 files changed, 16 insertions, 0 deletions
diff --git a/sysklogd/Config.src b/sysklogd/Config.src
index b7a494eff..fcf993054 100644
--- a/sysklogd/Config.src
+++ b/sysklogd/Config.src
@@ -113,6 +113,19 @@ config FEATURE_LOGREAD_REDUCED_LOCKING
113 from circular buffer, minimizing semaphore 113 from circular buffer, minimizing semaphore
114 contention at some minor memory expense. 114 contention at some minor memory expense.
115 115
116config FEATURE_KMSG_SYSLOG
117 bool "Linux kernel printk buffer support"
118 default y
119 depends on SYSLOGD
120 select PLATFORM_LINUX
121 help
122 When you enable this feature, the syslogd utility will
123 write system log message to the Linux kernel's printk buffer.
124 This can be used as a smaller alternative to the syslogd IPC
125 support, as klogd and logread aren't needed.
126
127 NOTICE: Syslog facilities in log entries needs kernel 3.5+.
128
116config KLOGD 129config KLOGD
117 bool "klogd" 130 bool "klogd"
118 default y 131 default y
@@ -123,6 +136,9 @@ config KLOGD
123 you wish to record the messages produced by the kernel, 136 you wish to record the messages produced by the kernel,
124 you should enable this option. 137 you should enable this option.
125 138
139comment "klogd should not be used together with syslog to kernel printk buffer"
140 depends on KLOGD && FEATURE_KMSG_SYSLOG
141
126config FEATURE_KLOGD_KLOGCTL 142config FEATURE_KLOGD_KLOGCTL
127 bool "Use the klogctl() interface" 143 bool "Use the klogctl() interface"
128 default y 144 default y