zcip: Add environment variable for overriding log functionality
function old new delta bb_logenv_override - 70 +70 packed_usage 29969 30033 +64 zcip_main 1426 1431 +5 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 2/0 up/down: 139/0) Total: 139 bytes Signed-off-by: Michel Stam <m.stam@fugro.nl> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
fdd957bdc9
commit
d3fabf89d7
@ -45,6 +45,8 @@ udhcpc - auto-backgrounds unless -f after lease is obtained,
|
||||
udhcpd - auto-backgrounds and do not log to stderr unless -f,
|
||||
otherwise logs to stderr, but option -S makes it log *also* to syslog
|
||||
zcip - auto-backgrounds and logs *also* to syslog unless -f
|
||||
behaviour can be overridden with experimental LOGGING env.var
|
||||
(can be set to either "none" or "syslog")
|
||||
|
||||
Total: 13 applets (+1 obsolete),
|
||||
4 log to syslog by default (crond fakeidentd inetd zcip),
|
||||
|
@ -1104,6 +1104,7 @@ extern void bb_perror_nomsg_and_die(void) NORETURN FAST_FUNC;
|
||||
extern void bb_perror_nomsg(void) FAST_FUNC;
|
||||
extern void bb_info_msg(const char *s, ...) __attribute__ ((format (printf, 1, 2))) FAST_FUNC;
|
||||
extern void bb_verror_msg(const char *s, va_list p, const char *strerr) FAST_FUNC;
|
||||
extern void bb_logenv_override(void) FAST_FUNC;
|
||||
|
||||
/* We need to export XXX_main from libbusybox
|
||||
* only if we build "individual" binaries
|
||||
|
@ -187,3 +187,6 @@ lib-$(CONFIG_PGREP) += xregcomp.o
|
||||
lib-$(CONFIG_PKILL) += xregcomp.o
|
||||
lib-$(CONFIG_DEVFSD) += xregcomp.o
|
||||
lib-$(CONFIG_FEATURE_FIND_REGEX) += xregcomp.o
|
||||
|
||||
# Add the experimental logging functionality, only used by zcip
|
||||
lib-$(CONFIG_ZCIP) += logenv.o
|
||||
|
24
libbb/logenv.c
Normal file
24
libbb/logenv.c
Normal file
@ -0,0 +1,24 @@
|
||||
/* vi: set sw=4 ts=4: */
|
||||
/*
|
||||
* Utility routines.
|
||||
*
|
||||
* Copyright (C) 2014 by Fugro Intersite B.V. <m.stam@fugro.nl>
|
||||
*
|
||||
* Licensed under GPLv2 or later, see file LICENSE in this source tree.
|
||||
*/
|
||||
#include "libbb.h"
|
||||
|
||||
void FAST_FUNC bb_logenv_override(void)
|
||||
{
|
||||
const char* mode = getenv("LOGGING");
|
||||
|
||||
if (!mode)
|
||||
return;
|
||||
|
||||
if (strcmp(mode, "none") == 0)
|
||||
logmode = LOGMODE_NONE;
|
||||
#if ENABLE_FEATURE_SYSLOG
|
||||
else if (strcmp(mode, "syslog") == 0)
|
||||
logmode = LOGMODE_SYSLOG;
|
||||
#endif
|
||||
}
|
@ -33,6 +33,9 @@
|
||||
//usage: "\n -l x.x.0.0 Use this range instead of 169.254"
|
||||
//usage: "\n -v Verbose"
|
||||
//usage: "\n"
|
||||
//usage: "\n$LOGGING=none Suppress logging"
|
||||
//usage: "\n$LOGGING=syslog Log to syslog"
|
||||
//usage: "\n"
|
||||
//usage: "\nWith no -q, runs continuously monitoring for ARP conflicts,"
|
||||
//usage: "\nexits only on I/O errors (link down etc)"
|
||||
|
||||
@ -249,6 +252,8 @@ int zcip_main(int argc UNUSED_PARAM, char **argv)
|
||||
openlog(applet_name, 0, LOG_DAEMON);
|
||||
logmode |= LOGMODE_SYSLOG;
|
||||
}
|
||||
bb_logenv_override();
|
||||
|
||||
{ // -l n.n.n.n
|
||||
struct in_addr net;
|
||||
if (inet_aton(l_opt, &net) == 0
|
||||
|
Loading…
Reference in New Issue
Block a user