librpma API version 0.10.0

librpma.7 rpma_conn_apply_remote_peer_cfg.3 rpma_conn_cfg_delete.3 rpma_conn_cfg_get_cq_size.3 rpma_conn_cfg_get_rcq_size.3 rpma_conn_cfg_get_rq_size.3 rpma_conn_cfg_get_sq_size.3 rpma_conn_cfg_get_timeout.3 rpma_conn_cfg_new.3 rpma_conn_cfg_set_cq_size.3 rpma_conn_cfg_set_rcq_size.3 rpma_conn_cfg_set_rq_size.3 rpma_conn_cfg_set_sq_size.3 rpma_conn_cfg_set_timeout.3 rpma_conn_completion_get.3 rpma_conn_completion_wait.3 rpma_conn_delete.3 rpma_conn_disconnect.3 rpma_conn_get_completion_fd.3 rpma_conn_get_cq.3 rpma_conn_get_event_fd.3 rpma_conn_get_private_data.3 rpma_conn_get_qp_num.3 rpma_conn_get_rcq.3 rpma_conn_next_event.3 rpma_conn_req_connect.3 rpma_conn_req_delete.3 rpma_conn_req_get_private_data.3 rpma_conn_req_new.3 rpma_conn_req_recv.3 rpma_cq_get_completion.3 rpma_cq_get_fd.3 rpma_cq_wait.3 rpma_ep_get_fd.3 rpma_ep_listen.3 rpma_ep_next_conn_req.3 rpma_ep_shutdown.3 rpma_err_2str.3 rpma_flush.3 rpma_log_get_threshold.3 rpma_log_set_function.3 rpma_log_set_threshold.3 rpma_mr_advise.3 rpma_mr_dereg.3 rpma_mr_get_descriptor.3 rpma_mr_get_descriptor_size.3 rpma_mr_get_ptr.3 rpma_mr_get_size.3 rpma_mr_reg.3 rpma_mr_remote_delete.3 rpma_mr_remote_from_descriptor.3 rpma_mr_remote_get_flush_type.3 rpma_mr_remote_get_size.3 rpma_peer_cfg_delete.3 rpma_peer_cfg_from_descriptor.3 rpma_peer_cfg_get_descriptor.3 rpma_peer_cfg_get_descriptor_size.3 rpma_peer_cfg_get_direct_write_to_pmem.3 rpma_peer_cfg_new.3 rpma_peer_cfg_set_direct_write_to_pmem.3 rpma_peer_delete.3 rpma_peer_new.3 rpma_read.3 rpma_recv.3 rpma_send.3 rpma_send_with_imm.3 rpma_utils_conn_event_2str.3 rpma_utils_get_ibv_context.3 rpma_utils_ibv_context_is_odp_capable.3 rpma_write.3 rpma_write_atomic.3 rpma_write_with_imm.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/

The contents of this web site and the associated GitHub repositories are BSD-licensed open source.