mrpt_log_macros.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
12 #include <cstdarg>
13 
14 #define MRPT_VIRTUAL_LOG_MACROS \
15  protected: \
16  virtual void log_debug(const char* format, ...) \
17  { \
18  va_list argptr; \
19  va_start(argptr, format); \
20  fprintf(stdout, "DEBUG: "); \
21  vfprintf(stdout, format, argptr); \
22  fprintf(stdout, "\n"); \
23  va_end(argptr); \
24  } \
25  \
26  protected: \
27  virtual void log_info(const char* format, ...) \
28  { \
29  va_list argptr; \
30  va_start(argptr, format); \
31  fprintf(stdout, "INFO: "); \
32  vfprintf(stdout, format, argptr); \
33  fprintf(stdout, "\n"); \
34  va_end(argptr); \
35  } \
36  \
37  protected: \
38  virtual void log_warn(const char* format, ...) \
39  { \
40  va_list argptr; \
41  va_start(argptr, format); \
42  fprintf(stderr, "WARNING: "); \
43  vfprintf(stderr, format, argptr); \
44  fprintf(stderr, "\n"); \
45  va_end(argptr); \
46  } \
47  \
48  protected: \
49  virtual void log_error(const char* format, ...) \
50  { \
51  va_list argptr; \
52  va_start(argptr, format); \
53  fprintf(stderr, "ERROR: "); \
54  vfprintf(stderr, format, argptr); \
55  fprintf(stderr, "\n"); \
56  va_end(argptr); \
57  }
58 
59 #define MRPT_ROS_LOG_MACROS \
60  protected: \
61  virtual void log_debug(const char* format, ...) \
62  { \
63  char buffer[0x1FF]; \
64  va_list argptr; \
65  va_start(argptr, format); \
66  vsprintf(buffer, format, argptr); \
67  ROS_DEBUG("%s", buffer); \
68  va_end(argptr); \
69  } \
70  \
71  protected: \
72  virtual void log_info(const char* format, ...) \
73  { \
74  char buffer[0x1FF]; \
75  va_list argptr; \
76  va_start(argptr, format); \
77  vsprintf(buffer, format, argptr); \
78  ROS_INFO("%s", buffer); \
79  va_end(argptr); \
80  } \
81  \
82  protected: \
83  virtual void log_warn(const char* format, ...) \
84  { \
85  char buffer[0x1FF]; \
86  va_list argptr; \
87  va_start(argptr, format); \
88  vsprintf(buffer, format, argptr); \
89  ROS_WARN("%s", buffer); \
90  va_end(argptr); \
91  } \
92  \
93  protected: \
94  virtual void log_error(const char* format, ...) \
95  { \
96  char buffer[0x1FF]; \
97  va_list argptr; \
98  va_start(argptr, format); \
99  vsprintf(buffer, format, argptr); \
100  ROS_ERROR("%s", buffer); \
101  va_end(argptr); \
102  }


mrpt_bridge
Author(s): Markus Bader , Raphael Zack
autogenerated on Sun Mar 6 2022 03:48:10