00001 #ifndef MRPT_BRIDGE_LOG_MACROS_H 00002 #define MRPT_BRIDGE_LOG_MACROS_H 00003 00004 #include <cstdarg> 00005 00006 #define MRPT_VIRTUAL_LOG_MACROS \ 00007 protected: virtual void log_debug(const char* format, ...) { \ 00008 va_list argptr;\ 00009 va_start(argptr, format);\ 00010 fprintf(stdout, "DEBUG: ");\ 00011 vfprintf(stdout, format, argptr);\ 00012 fprintf(stdout, "\n");\ 00013 va_end(argptr);\ 00014 }\ 00015 protected: virtual void log_info(const char* format, ...) { \ 00016 va_list argptr;\ 00017 va_start(argptr, format);\ 00018 fprintf(stdout, "INFO: ");\ 00019 vfprintf(stdout, format, argptr);\ 00020 fprintf(stdout, "\n");\ 00021 va_end(argptr);\ 00022 }\ 00023 protected: virtual void log_warn(const char* format, ...) {\ 00024 va_list argptr;\ 00025 va_start(argptr, format);\ 00026 fprintf(stderr, "WARNING: ");\ 00027 vfprintf(stderr, format, argptr);\ 00028 fprintf(stderr, "\n");\ 00029 va_end(argptr);\ 00030 }\ 00031 protected: virtual void log_error(const char* format, ...) {\ 00032 va_list argptr;\ 00033 va_start(argptr, format);\ 00034 fprintf(stderr, "ERROR: ");\ 00035 vfprintf(stderr, format, argptr);\ 00036 fprintf(stderr, "\n");\ 00037 va_end(argptr);\ 00038 }\ 00039 00040 #define MRPT_ROS_LOG_MACROS \ 00041 protected: virtual void log_debug(const char* format, ...) {\ 00042 char buffer[0x1FF];\ 00043 va_list argptr;\ 00044 va_start(argptr, format);\ 00045 vsprintf(buffer, format, argptr);\ 00046 ROS_DEBUG("%s",buffer);\ 00047 va_end(argptr);\ 00048 }\ 00049 protected: virtual void log_info(const char* format, ...) {\ 00050 char buffer[0x1FF];\ 00051 va_list argptr;\ 00052 va_start(argptr, format);\ 00053 vsprintf(buffer, format, argptr);\ 00054 ROS_INFO("%s",buffer);\ 00055 va_end(argptr);\ 00056 }\ 00057 protected: virtual void log_warn(const char* format, ...) {\ 00058 char buffer[0x1FF];\ 00059 va_list argptr;\ 00060 va_start(argptr, format);\ 00061 vsprintf(buffer, format, argptr);\ 00062 ROS_WARN("%s",buffer);\ 00063 va_end(argptr);\ 00064 }\ 00065 protected: virtual void log_error(const char* format, ...) {\ 00066 char buffer[0x1FF];\ 00067 va_list argptr;\ 00068 va_start(argptr, format);\ 00069 vsprintf(buffer, format, argptr);\ 00070 ROS_ERROR("%s",buffer);\ 00071 va_end(argptr);\ 00072 }\ 00073 00074 00075 #endif //MRPT_BRIDGE_LOG_MACROS_H