We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
As for cyclonedds-cxx Is there a similar log API and how should it be used? Is there an example of how to use the C++version log
#include "dds/dds.h" #include "dds/ddsrt/log.h" #include "HelloWorldData.h" #include <stdio.h> #include <stdlib.h> #include <string.h> // Log callback function static void my_log_callback(void *ptr, const dds_log_data_t *data) { printf("----------my_log_callback is called----------\n"); printf("file:%s \n",data->file); printf("function:%s\n",data->function); printf("line: %d \n",data->line); printf("priority: %d \n",data->priority); printf("message:%s\n",data->message); // Cast ptr to FILE pointer FILE *log_fp = (FILE *)ptr; if (log_fp != NULL) { fprintf(log_fp, "----------my_log_callback is called----------\n"); fprintf(log_fp, "file:%s \n", data->file); fprintf(log_fp, "function:%s\n", data->function); fprintf(log_fp, "line: %d \n", data->line); fprintf(log_fp, "priority: %d \n", data->priority); fprintf(log_fp, "message:%s\n", data->message); fflush(log_fp); // Flush the stream }else{ printf("cyclonedds.log file pointer is not valid \n"); } } int main (int argc, char ** argv) { dds_entity_t participant; dds_entity_t topic; dds_entity_t writer; dds_return_t rc; HelloWorldData_Msg msg; uint32_t status = 0; (void)argc; (void)argv; //add for log by lx FILE *log_fp = fopen("/opt/vrte/eclipse_cyclonedds/log/cyclonedds.log", "a"); if (log_fp == NULL) { perror("can not open the log file\n"); return EXIT_FAILURE; } printf("dds_set_log_sink\n"); dds_set_log_sink(my_log_callback, log_fp); //dds_set_log_mask(DDS_LOG_MASK); //dds_set_log_mask(DDS_LC_FATAL | DDS_LC_ERROR | DDS_LC_WARNING | DDS_LC_WARNING |DDS_LC_INFO); dds_set_log_mask(DDS_LC_ERROR | DDS_LC_WARNING | DDS_LC_INFO); /* Create a Participant. */ participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL); if (participant < 0) DDS_FATAL("dds_create_participant: %s\n", dds_strretcode(-participant)); printf("DDS_ERROR is called\n"); DDS_ERROR("--------------------This is a error log message-------------------\n"); printf("DDS_WARNING is called\n"); DDS_WARNING("----------------This is a WARNING log message---------------------\n"); printf("DDS_INFO is called\n"); DDS_INFO("--------------------------This is a info log message-----------------\n"); //The log message will be written to cyclonedds.log.${CYCLONEDDS_PID} file DDS_INFO("++++++++++++++++++This is a info log message+++++++++++++++++++++++"); /* Create a Topic. */ topic = dds_create_topic ( participant, &HelloWorldData_Msg_desc, "HelloWorldData_Msg", NULL, NULL); if (topic < 0) DDS_FATAL("dds_create_topic: %s\n", dds_strretcode(-topic));
The text was updated successfully, but these errors were encountered:
Is there a similar log API for cyclonedds cxx, and how should it be used? Is there an example of how to use the C++version log
Sorry, something went wrong.
No branches or pull requests
As for cyclonedds-cxx
Is there a similar log API and how should it be used?
Is there an example of how to use the C++version log
The text was updated successfully, but these errors were encountered: