/* * commlib debug log function callback */ int on_communication_log(cl_raw_list_t* list_p) { cl_log_list_elem_t* elem = NULL; /* lock the list */ cl_raw_list_lock(list_p); /* print out the complete log list and delete log message */ while ( (elem = cl_log_list_get_first_elem(list_p) ) != NULL) { if (elem->log_parameter == NULL) { printf("COMMLIB LOGGING(%s): %s\n", cl_log_list_convert_type_id(elem->log_type), elem->log_message); } else { printf("COMMLIB LOGGING(%s): %s %s\n", cl_log_list_convert_type_id(elem->log_type), elem->log_message, elem->log_parameter); } cl_log_list_del_log(list_p); } /* unlock the list */ cl_raw_list_unlock(list_p); return CL_RETVAL_OK; }
int my_log_flush_list(cl_raw_list_t* list_p) { int ret_val; cl_log_list_elem_t* elem = NULL; if (list_p == NULL) { return CL_RETVAL_LOG_NO_LOGLIST; } if ( ( ret_val = cl_raw_list_lock(list_p)) != CL_RETVAL_OK) { return ret_val; } while ( (elem = cl_log_list_get_first_elem(list_p) ) != NULL) { char* param; if (elem->log_parameter == NULL) { param = ""; } else { param = elem->log_parameter; } printf("%-15s|%-10s|%s%s\n",elem->log_thread_name,cl_log_list_convert_type_id(elem->log_type),elem->log_message,param); cl_log_list_del_log(list_p); } if ( ( ret_val = cl_raw_list_unlock(list_p)) != CL_RETVAL_OK) { return ret_val; } return CL_RETVAL_OK; }