rpma_log_set_threshold(3)

NAME
rpma_log_set_threshold - set the logging threshold level

SYNOPSIS
      #include <librpma.h>

      int rpma_log_set_threshold(enum rpma_log_threshold threshold, enum rpma_log_level level);

      enum rpma_log_level {
              RPMA_LOG_DISABLED,
              RPMA_LOG_LEVEL_FATAL,
              RPMA_LOG_LEVEL_ERROR,
              RPMA_LOG_LEVEL_WARNING,
              RPMA_LOG_LEVEL_NOTICE,
              RPMA_LOG_LEVEL_INFO,
              RPMA_LOG_LEVEL_DEBUG,
      };

      enum rpma_log_threshold {
              RPMA_LOG_THRESHOLD,
              RPMA_LOG_THRESHOLD_AUX,
              RPMA_LOG_THRESHOLD_MAX
      };

DESCRIPTION
rpma_log_set_threshold() sets the logging threshold level.

Available thresholds are:

•   RPMA_LOG_THRESHOLD - the main threshold used to filter out undesired logging messages. Messages on a higher level than the primary threshold level are ignored. RPMA_LOG_DISABLED shall be used to suppress logging. The default value is RPMA_LOG_WARNING.

•   RPMA_LOG_THRESHOLD_AUX - the auxiliary threshold intended for use inside the logging function (please see rpma_log_get_threshold(3)). The logging function may or may not take this threshold into consideration. The default value is RPMA_LOG_DISABLED.

Available threshold levels are defined by enum rpma_log_level:

•   RPMA_LOG_DISABLED - all messages will be suppressed

•   RPMA_LOG_LEVEL_FATAL - an error that causes the library to stop working immediately

•   RPMA_LOG_LEVEL_ERROR - an error that causes the library to stop working properly

•   RPMA_LOG_LEVEL_WARNING - an error that could be handled in the upper level

•   RPMA_LOG_LEVEL_NOTICE - non-massive info mainly related to public API function completions e.g. connection established

•   RPMA_LOG_LEVEL_INFO - massive info e.g. every write operation indication

•   RPMA_LOG_LEVEL_DEBUG - debug info e.g. write operation dump

THE DEFAULT LOGGING FUNCTION
The default logging function writes messages to syslog(3) and to stderr(3), where syslog(3) is the primary destination (RPMA_LOG_THRESHOLD applies) whereas stderr(3) is the secondary destination (RPMA_LOG_THRESHOLD_AUX applies).

RETURN VALUE
rpma_log_syslog_set_threshold() function returns 0 on success or a negative error code on failure.

ERRORS
rpma_log_set_threshold() can fail with the following errors:

•   RPMA_E_INVAL - threshold is not RPMA_LOG_THRESHOLD nor RPMA_LOG_THRESHOLD_AUX

•   RPMA_E_INVAL - level is not a value defined by enum rpma_log_level type

•   RPMA_E_AGAIN - a temporary error occurred, the retry may fix the problem

SEE ALSO
rpma_log_get_threshold(3), rpma_log_set_function(3), librpma(7) and https://pmem.io/rpma/