On 27/09/2016 01:33, Karl Palsson wrote: > > John Crispin <j...@phrozen.org> wrote: >> >> >> On 22/09/2016 19:32, Karl Palsson wrote: >>> From: Karl Palsson <ka...@etactica.com> >>> >>> Currently the loglevel is hardcoded to LOG_WARNING, even though there is >>> debug log messages. Allow an env var to control the log threshold. >>> >>> Signed-off-by: Karl Palsson <ka...@etactica.com> >>> --- >>> src/odhcpd.c | 16 +++++++++++++++- >>> 1 file changed, 15 insertions(+), 1 deletion(-) >>> >>> diff --git a/src/odhcpd.c b/src/odhcpd.c >>> index 74830ac..c51cfa1 100644 >>> --- a/src/odhcpd.c >>> +++ b/src/odhcpd.c >>> @@ -58,7 +58,21 @@ static void sighandler(_unused int signal) >>> int main() >>> { >>> openlog("odhcpd", LOG_PERROR | LOG_PID, LOG_DAEMON); >>> - setlogmask(LOG_UPTO(LOG_WARNING)); >>> + char *env_log_level = getenv("ODHCPD_LOG_LEVEL"); >>> + int log_level = LOG_WARNING; >>> + if (env_log_level) { >>> + char *end; >>> + errno = 0; >>> + long temp = strtol(env_log_level, &end, 0); >>> + if (end == env_log_level || *end != '\0' >>> + || ((temp == LONG_MIN || temp == LONG_MAX) && errno == >>> ERANGE) >>> + || (log_level > LOG_DEBUG) || log_level < LOG_EMERG) { >>> + syslog(LOG_ERR, "ODHCPD_LOG_LEVEL envvar was invalid"); >>> + } else { >>> + log_level = temp; >>> + } >>> + } >>> + setlogmask(LOG_UPTO(log_level)); >>> uloop_init(); >> >> this is pretty bloaty. i am also not sure if using an env var >> is the right way to solve this. > > sure, strol sucks. But that's "the" way of checking. I could use > atoi, and just convert nulls to some sort of default maybe. As > for an env var, sure, they suck too, I just copied procd, was > trying to be consistent. I'm open to other suggestions. I don't > _need_ the logging anymore, after adding more for the fixing the > "ignore" problem, and with logging feasible, there's probably > more debug that would be relevant, so this patch could be dropped > entirely if it's too much of a headache. > > Cheers, > Karl P
being able to set the debug level is good but not like this. why not use the normal config code path or a commandline option ? John _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev