Skip to content

Commit

Permalink
libbladeRF: Added BLADERF_LOG_LEVEL environment variable
Browse files Browse the repository at this point in the history
The added BLADERF_LOG_LEVEL environment variable allows the
default libbladeRF log-level to be overridden by the environment.

It may be set to one of the following strings:
 - "critical"
 - "error"
 - "warning"
 - "info"
 - "debug"
 - "verbose"

Bear in mind that applications (such as bladeRF-cli) may control and
change the log level via bladerf_log_set_verbosity(),
  • Loading branch information
mambrus authored and jynik committed Jan 14, 2015
1 parent 344d497 commit 955930a
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions host/libraries/libbladeRF/src/init_fini.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
#else
# define DEF_LOG_LEVEL BLADERF_LOG_LEVEL_INFO
#endif
#define ENV_LOG_LEVEL "BLADERF_LOG_LEVEL"

/* Module initializers/deinitializers. When used as library (who don't have
* a natural entry/exit function) these are used to initialize
Expand All @@ -59,22 +60,41 @@
* the mechanism works.
*/

static int get_loglevel(void) {
int log_level = DEF_LOG_LEVEL;

if ((getenv(ENV_LOG_LEVEL) != NULL)
&& (strlen(getenv(ENV_LOG_LEVEL)) > 0)) {

bool valid_value;
log_level = str2loglevel(getenv(ENV_LOG_LEVEL), &valid_value);

if (!valid_value) {
log_level = DEF_LOG_LEVEL;
}
}
return log_level;
}

void __init __bladerf_init(void)
{
int log_level = get_loglevel();

#if !defined(WIN32) && !defined(__CYGWIN__) && defined(LOG_SYSLOG_ENABLED)
openlog("bladeRF",
LOG_CONS | LOG_NDELAY | LOG_NOWAIT | LOG_PERROR | LOG_PID,
LOG_USER);
#endif

bladerf_log_set_verbosity(DEF_LOG_LEVEL);
bladerf_log_set_verbosity(log_level);
log_debug("libbladeRF %s: initializing\n", LIBBLADERF_VERSION);
}

void __fini __bladerf_fini(void)
{
bladerf_log_set_verbosity(DEF_LOG_LEVEL);
int log_level = get_loglevel();

bladerf_log_set_verbosity(log_level);
log_debug("libbladeRF %s: deinitializing\n", LIBBLADERF_VERSION);
fflush(NULL);
#if !defined(WIN32) && !defined(__CYGWIN__) && defined(LOG_SYSLOG_ENABLED)
Expand Down

0 comments on commit 955930a

Please sign in to comment.