Skip to content

Commit

Permalink
Add option to set logger severity level using a config file
Browse files Browse the repository at this point in the history
Signed-off-by: JafarAbdi <[email protected]>
  • Loading branch information
JafarAbdi committed Sep 23, 2021
1 parent 304e143 commit c9f4a41
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/logging.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,44 @@ rcutils_ret_t rcutils_logging_initialize_with_allocator(rcutils_allocator_t allo
}

g_rcutils_logging_initialized = true;

// We load the logging configs after setting g_rcutils_logging_initialized
// to true otherwise rcutils_logging_set_logger_level will cause recursive
// call to this function due to RCUTILS_LOGGING_AUTOINIT Check for the
// Check for the environment variable for selecting logging level
const char * logging_config_filename;
ret_str = rcutils_get_env("RCUTILS_LOGGING_CONFIG_FILE", &logging_config_filename);
if (NULL == ret_str && strcmp(logging_config_filename, "") != 0) {
FILE * logging_config_file = fopen(logging_config_filename, "r");
if (NULL == logging_config_file) {
RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING(
"Failed to open logging config file `[%s]`.",
logging_config_filename);
return RCUTILS_RET_ERROR;
}
char logger_name[50];
char severity[10]; // fatal error debug info warn case insensitive

while (fscanf(
logging_config_file, "%49[^=]=%9[^\n]\n", logger_name,
severity) != EOF)
{
int severity_level;
if (RCUTILS_RET_OK != rcutils_logging_severity_level_from_string(
severity, g_rcutils_logging_allocator, &severity_level))
{
RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(
"Logger has an invalid severity level: %s\n", severity);
return RCUTILS_RET_ERROR;
}
if (RCUTILS_RET_OK != rcutils_logging_set_logger_level(logger_name, severity_level)) {
RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(
"Failed to set severity level: %s for logger '%s'\n", severity, logger_name);
}
}

fclose(logging_config_file);
}
}
return ret;
}
Expand Down

0 comments on commit c9f4a41

Please sign in to comment.