15 #ifndef RCLCPP__LOGGING_HPP_
16 #define RCLCPP__LOGGING_HPP_
19 #include <type_traits>
21 #include "rclcpp/logger.hpp"
22 #include "rcutils/logging_macros.h"
25 #define RCLCPP_LOG_MIN_SEVERITY_DEBUG 0
26 #define RCLCPP_LOG_MIN_SEVERITY_INFO 1
27 #define RCLCPP_LOG_MIN_SEVERITY_WARN 2
28 #define RCLCPP_LOG_MIN_SEVERITY_ERROR 3
29 #define RCLCPP_LOG_MIN_SEVERITY_FATAL 4
30 #define RCLCPP_LOG_MIN_SEVERITY_NONE 5
32 #define RCLCPP_STATIC_ASSERT_LOGGER(logger) \
35 ::std::is_convertible_v<decltype(logger), ::rclcpp::Logger>, \
36 "First argument to logging macros must be an rclcpp::Logger"); \
45 #define RCLCPP_LOG(severity, logger, ...) \
47 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
48 RCUTILS_LOG_NAMED(severity, (logger).get_name(), __VA_ARGS__); \
59 #define RCLCPP_LOG_ONCE(severity, logger, ...) \
61 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
62 RCUTILS_LOG_ONCE_NAMED(severity, (logger).get_name(), __VA_ARGS__); \
74 #define RCLCPP_LOG_EXPRESSION(severity, logger, expression, ...) \
76 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
77 RCUTILS_LOG_EXPRESSION_NAMED(severity, expression, (logger).get_name(), __VA_ARGS__); \
89 #define RCLCPP_LOG_FUNCTION(severity, logger, function, ...) \
91 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
92 RCUTILS_LOG_FUNCTION_NAMED(severity, function, (logger).get_name(), __VA_ARGS__); \
103 #define RCLCPP_LOG_SKIPFIRST(severity, logger, ...) \
105 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
106 RCUTILS_LOG_SKIPFIRST_NAMED(severity, (logger).get_name(), __VA_ARGS__); \
109 #define RCLCPP_LOG_TIME_POINT_FUNC(clock) \
110 [&c = clock](rcutils_time_point_value_t * time_point)->rcutils_ret_t { \
112 *time_point = c.now().nanoseconds(); \
114 RCUTILS_SAFE_FWRITE_TO_STDERR( \
115 "[rclcpp|logging.hpp] RCLCPP_DEBUG_THROTTLE could not get current time stamp\n"); \
116 return RCUTILS_RET_ERROR; \
118 return RCUTILS_RET_OK; \
131 #define RCLCPP_LOG_THROTTLE(severity, logger, clock, duration, ...) \
133 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
134 RCUTILS_LOG_THROTTLE_NAMED( \
136 RCLCPP_LOG_TIME_POINT_FUNC(clock), \
138 (logger).get_name(), \
153 #define RCLCPP_LOG_SKIPFIRST_THROTTLE(severity, logger, clock, duration, ...) \
155 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
156 RCUTILS_LOG_SKIPFIRST_THROTTLE_NAMED( \
158 RCLCPP_LOG_TIME_POINT_FUNC(clock), \
160 (logger).get_name(), \
171 #define RCLCPP_LOG_STREAM(severity, logger, stream_arg) \
173 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
174 std::stringstream rclcpp_stream_ss_; \
175 rclcpp_stream_ss_ << stream_arg; \
176 RCUTILS_LOG_NAMED(severity, (logger).get_name(), "%s", rclcpp_stream_ss_.str().c_str()); \
187 #define RCLCPP_LOG_STREAM_ONCE(severity, logger, stream_arg) \
189 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
190 std::stringstream rclcpp_stream_ss_; \
191 rclcpp_stream_ss_ << stream_arg; \
192 RCUTILS_LOG_ONCE_NAMED(severity, (logger).get_name(), "%s", rclcpp_stream_ss_.str().c_str()); \
204 #define RCLCPP_LOG_STREAM_EXPRESSION(severity, logger, expression, stream_arg) \
206 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
207 std::stringstream rclcpp_stream_ss_; \
208 rclcpp_stream_ss_ << stream_arg; \
209 RCUTILS_LOG_EXPRESSION_NAMED( \
212 (logger).get_name(), \
213 "%s", rclcpp_stream_ss_.str().c_str()); \
225 #define RCLCPP_LOG_STREAM_FUNCTION(severity, logger, function, stream_arg) \
227 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
228 std::stringstream rclcpp_stream_ss_; \
229 rclcpp_stream_ss_ << stream_arg; \
230 RCUTILS_LOG_FUNCTION_NAMED( \
233 (logger).get_name(), \
234 "%s", rclcpp_stream_ss_.str().c_str()); \
245 #define RCLCPP_LOG_STREAM_SKIPFIRST(severity, logger, stream_arg) \
247 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
248 std::stringstream rclcpp_stream_ss_; \
249 rclcpp_stream_ss_ << stream_arg; \
250 RCUTILS_LOG_SKIPFIRST_NAMED( \
252 (logger).get_name(), \
253 "%s", rclcpp_stream_ss_.str().c_str()); \
266 #define RCLCPP_LOG_STREAM_THROTTLE(severity, logger, clock, duration, stream_arg) \
268 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
269 std::stringstream rclcpp_stream_ss_; \
270 rclcpp_stream_ss_ << stream_arg; \
271 RCUTILS_LOG_THROTTLE_NAMED( \
273 RCLCPP_LOG_TIME_POINT_FUNC(clock), \
275 (logger).get_name(), \
276 "%s", rclcpp_stream_ss_.str().c_str()); \
290 #define RCLCPP_LOG_STREAM_SKIPFIRST_THROTTLE(severity, logger, clock, duration, stream_arg) \
292 RCLCPP_STATIC_ASSERT_LOGGER(logger); \
293 std::stringstream rclcpp_stream_ss_; \
294 rclcpp_stream_ss_ << stream_arg; \
295 RCUTILS_LOG_SKIPFIRST_THROTTLE_NAMED( \
297 RCLCPP_LOG_TIME_POINT_FUNC(clock), \
299 (logger).get_name(), \
300 "%s", rclcpp_stream_ss_.str().c_str()); \
309 #ifndef RCLCPP_LOG_MIN_SEVERITY
310 #define RCLCPP_LOG_MIN_SEVERITY RCLCPP_LOG_MIN_SEVERITY_DEBUG
315 #if (RCLCPP_LOG_MIN_SEVERITY > RCLCPP_LOG_MIN_SEVERITY_DEBUG)
318 #define RCLCPP_DEBUG(...)
320 #define RCLCPP_DEBUG_ONCE(...)
322 #define RCLCPP_DEBUG_EXPRESSION(...)
324 #define RCLCPP_DEBUG_FUNCTION(...)
326 #define RCLCPP_DEBUG_SKIPFIRST(...)
328 #define RCLCPP_DEBUG_THROTTLE(...)
330 #define RCLCPP_DEBUG_SKIPFIRST_THROTTLE(...)
332 #define RCLCPP_DEBUG_STREAM(...)
334 #define RCLCPP_DEBUG_STREAM_ONCE(...)
336 #define RCLCPP_DEBUG_STREAM_EXPRESSION(...)
338 #define RCLCPP_DEBUG_STREAM_FUNCTION(...)
340 #define RCLCPP_DEBUG_STREAM_SKIPFIRST(...)
342 #define RCLCPP_DEBUG_STREAM_THROTTLE(...)
344 #define RCLCPP_DEBUG_STREAM_SKIPFIRST_THROTTLE(...)
351 #define RCLCPP_DEBUG(logger, ...) RCLCPP_LOG(RCUTILS_LOG_SEVERITY_DEBUG, logger, __VA_ARGS__)
357 #define RCLCPP_DEBUG_ONCE(logger, ...) \
358 RCLCPP_LOG_ONCE(RCUTILS_LOG_SEVERITY_DEBUG, logger, __VA_ARGS__)
364 #define RCLCPP_DEBUG_EXPRESSION(logger, expression, ...) \
365 RCLCPP_LOG_EXPRESSION(RCUTILS_LOG_SEVERITY_DEBUG, logger, expression, __VA_ARGS__)
371 #define RCLCPP_DEBUG_FUNCTION(logger, function, ...) \
372 RCLCPP_LOG_FUNCTION(RCUTILS_LOG_SEVERITY_DEBUG, logger, function, __VA_ARGS__)
378 #define RCLCPP_DEBUG_SKIPFIRST(logger, ...) \
379 RCLCPP_LOG_SKIPFIRST(RCUTILS_LOG_SEVERITY_DEBUG, logger, __VA_ARGS__)
385 #define RCLCPP_DEBUG_THROTTLE(logger, clock, duration, ...) \
386 RCLCPP_LOG_THROTTLE(RCUTILS_LOG_SEVERITY_DEBUG, logger, clock, duration, __VA_ARGS__)
392 #define RCLCPP_DEBUG_SKIPFIRST_THROTTLE(logger, clock, duration, ...) \
393 RCLCPP_LOG_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_DEBUG, logger, clock, duration, __VA_ARGS__)
399 #define RCLCPP_DEBUG_STREAM(logger, stream_arg) \
400 RCLCPP_LOG_STREAM(RCUTILS_LOG_SEVERITY_DEBUG, logger, stream_arg)
406 #define RCLCPP_DEBUG_STREAM_ONCE(logger, stream_arg) \
407 RCLCPP_LOG_STREAM_ONCE(RCUTILS_LOG_SEVERITY_DEBUG, logger, stream_arg)
413 #define RCLCPP_DEBUG_STREAM_EXPRESSION(logger, expression, stream_arg) \
414 RCLCPP_LOG_STREAM_EXPRESSION(RCUTILS_LOG_SEVERITY_DEBUG, logger, expression, stream_arg)
420 #define RCLCPP_DEBUG_STREAM_FUNCTION(logger, function, stream_arg) \
421 RCLCPP_LOG_STREAM_FUNCTION(RCUTILS_LOG_SEVERITY_DEBUG, logger, function, stream_args)
427 #define RCLCPP_DEBUG_STREAM_SKIPFIRST(logger, stream_arg) \
428 RCLCPP_LOG_STREAM_SKIPFIRST(RCUTILS_LOG_SEVERITY_DEBUG, logger, stream_arg)
434 #define RCLCPP_DEBUG_STREAM_THROTTLE(logger, clock, duration, stream_arg) \
435 RCLCPP_LOG_STREAM_THROTTLE(RCUTILS_LOG_SEVERITY_DEBUG, logger, clock, duration, stream_arg)
441 #define RCLCPP_DEBUG_STREAM_SKIPFIRST_THROTTLE(logger, clock, duration, stream_arg) \
442 RCLCPP_LOG_STREAM_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_DEBUG, logger, clock, duration, \
449 #if (RCLCPP_LOG_MIN_SEVERITY > RCLCPP_LOG_MIN_SEVERITY_INFO)
452 #define RCLCPP_INFO(...)
454 #define RCLCPP_INFO_ONCE(...)
456 #define RCLCPP_INFO_EXPRESSION(...)
458 #define RCLCPP_INFO_FUNCTION(...)
460 #define RCLCPP_INFO_SKIPFIRST(...)
462 #define RCLCPP_INFO_THROTTLE(...)
464 #define RCLCPP_INFO_SKIPFIRST_THROTTLE(...)
466 #define RCLCPP_INFO_STREAM(...)
468 #define RCLCPP_INFO_STREAM_ONCE(...)
470 #define RCLCPP_INFO_STREAM_EXPRESSION(...)
472 #define RCLCPP_INFO_STREAM_FUNCTION(...)
474 #define RCLCPP_INFO_STREAM_SKIPFIRST(...)
476 #define RCLCPP_INFO_STREAM_THROTTLE(...)
478 #define RCLCPP_INFO_STREAM_SKIPFIRST_THROTTLE(...)
485 #define RCLCPP_INFO(logger, ...) RCLCPP_LOG(RCUTILS_LOG_SEVERITY_INFO, logger, __VA_ARGS__)
491 #define RCLCPP_INFO_ONCE(logger, ...) \
492 RCLCPP_LOG_ONCE(RCUTILS_LOG_SEVERITY_INFO, logger, __VA_ARGS__)
498 #define RCLCPP_INFO_EXPRESSION(logger, expression, ...) \
499 RCLCPP_LOG_EXPRESSION(RCUTILS_LOG_SEVERITY_INFO, logger, expression, __VA_ARGS__)
505 #define RCLCPP_INFO_FUNCTION(logger, function, ...) \
506 RCLCPP_LOG_FUNCTION(RCUTILS_LOG_SEVERITY_INFO, logger, function, __VA_ARGS__)
512 #define RCLCPP_INFO_SKIPFIRST(logger, ...) \
513 RCLCPP_LOG_SKIPFIRST(RCUTILS_LOG_SEVERITY_INFO, logger, __VA_ARGS__)
519 #define RCLCPP_INFO_THROTTLE(logger, clock, duration, ...) \
520 RCLCPP_LOG_THROTTLE(RCUTILS_LOG_SEVERITY_INFO, logger, clock, duration, __VA_ARGS__)
526 #define RCLCPP_INFO_SKIPFIRST_THROTTLE(logger, clock, duration, ...) \
527 RCLCPP_LOG_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_INFO, logger, clock, duration, __VA_ARGS__)
533 #define RCLCPP_INFO_STREAM(logger, stream_arg) \
534 RCLCPP_LOG_STREAM(RCUTILS_LOG_SEVERITY_INFO, logger, stream_arg)
540 #define RCLCPP_INFO_STREAM_ONCE(logger, stream_arg) \
541 RCLCPP_LOG_STREAM_ONCE(RCUTILS_LOG_SEVERITY_INFO, logger, stream_arg)
547 #define RCLCPP_INFO_STREAM_EXPRESSION(logger, expression, stream_arg) \
548 RCLCPP_LOG_STREAM_EXPRESSION(RCUTILS_LOG_SEVERITY_INFO, logger, expression, stream_arg)
554 #define RCLCPP_INFO_STREAM_FUNCTION(logger, function, stream_arg) \
555 RCLCPP_LOG_STREAM_FUNCTION(RCUTILS_LOG_SEVERITY_INFO, logger, function, stream_args)
561 #define RCLCPP_INFO_STREAM_SKIPFIRST(logger, stream_arg) \
562 RCLCPP_LOG_STREAM_SKIPFIRST(RCUTILS_LOG_SEVERITY_INFO, logger, stream_arg)
568 #define RCLCPP_INFO_STREAM_THROTTLE(logger, clock, duration, stream_arg) \
569 RCLCPP_LOG_STREAM_THROTTLE(RCUTILS_LOG_SEVERITY_INFO, logger, clock, duration, stream_arg)
575 #define RCLCPP_INFO_STREAM_SKIPFIRST_THROTTLE(logger, clock, duration, stream_arg) \
576 RCLCPP_LOG_STREAM_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_INFO, logger, clock, duration, \
583 #if (RCLCPP_LOG_MIN_SEVERITY > RCLCPP_LOG_MIN_SEVERITY_WARN)
586 #define RCLCPP_WARN(...)
588 #define RCLCPP_WARN_ONCE(...)
590 #define RCLCPP_WARN_EXPRESSION(...)
592 #define RCLCPP_WARN_FUNCTION(...)
594 #define RCLCPP_WARN_SKIPFIRST(...)
596 #define RCLCPP_WARN_THROTTLE(...)
598 #define RCLCPP_WARN_SKIPFIRST_THROTTLE(...)
600 #define RCLCPP_WARN_STREAM(...)
602 #define RCLCPP_WARN_STREAM_ONCE(...)
604 #define RCLCPP_WARN_STREAM_EXPRESSION(...)
606 #define RCLCPP_WARN_STREAM_FUNCTION(...)
608 #define RCLCPP_WARN_STREAM_SKIPFIRST(...)
610 #define RCLCPP_WARN_STREAM_THROTTLE(...)
612 #define RCLCPP_WARN_STREAM_SKIPFIRST_THROTTLE(...)
619 #define RCLCPP_WARN(logger, ...) RCLCPP_LOG(RCUTILS_LOG_SEVERITY_WARN, logger, __VA_ARGS__)
625 #define RCLCPP_WARN_ONCE(logger, ...) \
626 RCLCPP_LOG_ONCE(RCUTILS_LOG_SEVERITY_WARN, logger, __VA_ARGS__)
632 #define RCLCPP_WARN_EXPRESSION(logger, expression, ...) \
633 RCLCPP_LOG_EXPRESSION(RCUTILS_LOG_SEVERITY_WARN, logger, expression, __VA_ARGS__)
639 #define RCLCPP_WARN_FUNCTION(logger, function, ...) \
640 RCLCPP_LOG_FUNCTION(RCUTILS_LOG_SEVERITY_WARN, logger, function, __VA_ARGS__)
646 #define RCLCPP_WARN_SKIPFIRST(logger, ...) \
647 RCLCPP_LOG_SKIPFIRST(RCUTILS_LOG_SEVERITY_WARN, logger, __VA_ARGS__)
653 #define RCLCPP_WARN_THROTTLE(logger, clock, duration, ...) \
654 RCLCPP_LOG_THROTTLE(RCUTILS_LOG_SEVERITY_WARN, logger, clock, duration, __VA_ARGS__)
660 #define RCLCPP_WARN_SKIPFIRST_THROTTLE(logger, clock, duration, ...) \
661 RCLCPP_LOG_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_WARN, logger, clock, duration, __VA_ARGS__)
667 #define RCLCPP_WARN_STREAM(logger, stream_arg) \
668 RCLCPP_LOG_STREAM(RCUTILS_LOG_SEVERITY_WARN, logger, stream_arg)
674 #define RCLCPP_WARN_STREAM_ONCE(logger, stream_arg) \
675 RCLCPP_LOG_STREAM_ONCE(RCUTILS_LOG_SEVERITY_WARN, logger, stream_arg)
681 #define RCLCPP_WARN_STREAM_EXPRESSION(logger, expression, stream_arg) \
682 RCLCPP_LOG_STREAM_EXPRESSION(RCUTILS_LOG_SEVERITY_WARN, logger, expression, stream_arg)
688 #define RCLCPP_WARN_STREAM_FUNCTION(logger, function, stream_arg) \
689 RCLCPP_LOG_STREAM_FUNCTION(RCUTILS_LOG_SEVERITY_WARN, logger, function, stream_args)
695 #define RCLCPP_WARN_STREAM_SKIPFIRST(logger, stream_arg) \
696 RCLCPP_LOG_STREAM_SKIPFIRST(RCUTILS_LOG_SEVERITY_WARN, logger, stream_arg)
702 #define RCLCPP_WARN_STREAM_THROTTLE(logger, clock, duration, stream_arg) \
703 RCLCPP_LOG_STREAM_THROTTLE(RCUTILS_LOG_SEVERITY_WARN, logger, clock, duration, stream_arg)
709 #define RCLCPP_WARN_STREAM_SKIPFIRST_THROTTLE(logger, clock, duration, stream_arg) \
710 RCLCPP_LOG_STREAM_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_WARN, logger, clock, duration, \
717 #if (RCLCPP_LOG_MIN_SEVERITY > RCLCPP_LOG_MIN_SEVERITY_ERROR)
720 #define RCLCPP_ERROR(...)
722 #define RCLCPP_ERROR_ONCE(...)
724 #define RCLCPP_ERROR_EXPRESSION(...)
726 #define RCLCPP_ERROR_FUNCTION(...)
728 #define RCLCPP_ERROR_SKIPFIRST(...)
730 #define RCLCPP_ERROR_THROTTLE(...)
732 #define RCLCPP_ERROR_SKIPFIRST_THROTTLE(...)
734 #define RCLCPP_ERROR_STREAM(...)
736 #define RCLCPP_ERROR_STREAM_ONCE(...)
738 #define RCLCPP_ERROR_STREAM_EXPRESSION(...)
740 #define RCLCPP_ERROR_STREAM_FUNCTION(...)
742 #define RCLCPP_ERROR_STREAM_SKIPFIRST(...)
744 #define RCLCPP_ERROR_STREAM_THROTTLE(...)
746 #define RCLCPP_ERROR_STREAM_SKIPFIRST_THROTTLE(...)
753 #define RCLCPP_ERROR(logger, ...) RCLCPP_LOG(RCUTILS_LOG_SEVERITY_ERROR, logger, __VA_ARGS__)
759 #define RCLCPP_ERROR_ONCE(logger, ...) \
760 RCLCPP_LOG_ONCE(RCUTILS_LOG_SEVERITY_ERROR, logger, __VA_ARGS__)
766 #define RCLCPP_ERROR_EXPRESSION(logger, expression, ...) \
767 RCLCPP_LOG_EXPRESSION(RCUTILS_LOG_SEVERITY_ERROR, logger, expression, __VA_ARGS__)
773 #define RCLCPP_ERROR_FUNCTION(logger, function, ...) \
774 RCLCPP_LOG_FUNCTION(RCUTILS_LOG_SEVERITY_ERROR, logger, function, __VA_ARGS__)
780 #define RCLCPP_ERROR_SKIPFIRST(logger, ...) \
781 RCLCPP_LOG_SKIPFIRST(RCUTILS_LOG_SEVERITY_ERROR, logger, __VA_ARGS__)
787 #define RCLCPP_ERROR_THROTTLE(logger, clock, duration, ...) \
788 RCLCPP_LOG_THROTTLE(RCUTILS_LOG_SEVERITY_ERROR, logger, clock, duration, __VA_ARGS__)
794 #define RCLCPP_ERROR_SKIPFIRST_THROTTLE(logger, clock, duration, ...) \
795 RCLCPP_LOG_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_ERROR, logger, clock, duration, __VA_ARGS__)
801 #define RCLCPP_ERROR_STREAM(logger, stream_arg) \
802 RCLCPP_LOG_STREAM(RCUTILS_LOG_SEVERITY_ERROR, logger, stream_arg)
808 #define RCLCPP_ERROR_STREAM_ONCE(logger, stream_arg) \
809 RCLCPP_LOG_STREAM_ONCE(RCUTILS_LOG_SEVERITY_ERROR, logger, stream_arg)
815 #define RCLCPP_ERROR_STREAM_EXPRESSION(logger, expression, stream_arg) \
816 RCLCPP_LOG_STREAM_EXPRESSION(RCUTILS_LOG_SEVERITY_ERROR, logger, expression, stream_arg)
822 #define RCLCPP_ERROR_STREAM_FUNCTION(logger, function, stream_arg) \
823 RCLCPP_LOG_STREAM_FUNCTION(RCUTILS_LOG_SEVERITY_ERROR, logger, function, stream_args)
829 #define RCLCPP_ERROR_STREAM_SKIPFIRST(logger, stream_arg) \
830 RCLCPP_LOG_STREAM_SKIPFIRST(RCUTILS_LOG_SEVERITY_ERROR, logger, stream_arg)
836 #define RCLCPP_ERROR_STREAM_THROTTLE(logger, clock, duration, stream_arg) \
837 RCLCPP_LOG_STREAM_THROTTLE(RCUTILS_LOG_SEVERITY_ERROR, logger, clock, duration, stream_arg)
843 #define RCLCPP_ERROR_STREAM_SKIPFIRST_THROTTLE(logger, clock, duration, stream_arg) \
844 RCLCPP_LOG_STREAM_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_ERROR, logger, clock, duration, \
851 #if (RCLCPP_LOG_MIN_SEVERITY > RCLCPP_LOG_MIN_SEVERITY_FATAL)
854 #define RCLCPP_FATAL(...)
856 #define RCLCPP_FATAL_ONCE(...)
858 #define RCLCPP_FATAL_EXPRESSION(...)
860 #define RCLCPP_FATAL_FUNCTION(...)
862 #define RCLCPP_FATAL_SKIPFIRST(...)
864 #define RCLCPP_FATAL_THROTTLE(...)
866 #define RCLCPP_FATAL_SKIPFIRST_THROTTLE(...)
868 #define RCLCPP_FATAL_STREAM(...)
870 #define RCLCPP_FATAL_STREAM_ONCE(...)
872 #define RCLCPP_FATAL_STREAM_EXPRESSION(...)
874 #define RCLCPP_FATAL_STREAM_FUNCTION(...)
876 #define RCLCPP_FATAL_STREAM_SKIPFIRST(...)
878 #define RCLCPP_FATAL_STREAM_THROTTLE(...)
880 #define RCLCPP_FATAL_STREAM_SKIPFIRST_THROTTLE(...)
887 #define RCLCPP_FATAL(logger, ...) RCLCPP_LOG(RCUTILS_LOG_SEVERITY_FATAL, logger, __VA_ARGS__)
893 #define RCLCPP_FATAL_ONCE(logger, ...) \
894 RCLCPP_LOG_ONCE(RCUTILS_LOG_SEVERITY_FATAL, logger, __VA_ARGS__)
900 #define RCLCPP_FATAL_EXPRESSION(logger, expression, ...) \
901 RCLCPP_LOG_EXPRESSION(RCUTILS_LOG_SEVERITY_FATAL, logger, expression, __VA_ARGS__)
907 #define RCLCPP_FATAL_FUNCTION(logger, function, ...) \
908 RCLCPP_LOG_FUNCTION(RCUTILS_LOG_SEVERITY_FATAL, logger, function, __VA_ARGS__)
914 #define RCLCPP_FATAL_SKIPFIRST(logger, ...) \
915 RCLCPP_LOG_SKIPFIRST(RCUTILS_LOG_SEVERITY_FATAL, logger, __VA_ARGS__)
921 #define RCLCPP_FATAL_THROTTLE(logger, clock, duration, ...) \
922 RCLCPP_LOG_THROTTLE(RCUTILS_LOG_SEVERITY_FATAL, logger, clock, duration, __VA_ARGS__)
928 #define RCLCPP_FATAL_SKIPFIRST_THROTTLE(logger, clock, duration, ...) \
929 RCLCPP_LOG_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_FATAL, logger, clock, duration, __VA_ARGS__)
935 #define RCLCPP_FATAL_STREAM(logger, stream_arg) \
936 RCLCPP_LOG_STREAM(RCUTILS_LOG_SEVERITY_FATAL, logger, stream_arg)
942 #define RCLCPP_FATAL_STREAM_ONCE(logger, stream_arg) \
943 RCLCPP_LOG_STREAM_ONCE(RCUTILS_LOG_SEVERITY_FATAL, logger, stream_arg)
949 #define RCLCPP_FATAL_STREAM_EXPRESSION(logger, expression, stream_arg) \
950 RCLCPP_LOG_STREAM_EXPRESSION(RCUTILS_LOG_SEVERITY_FATAL, logger, expression, stream_arg)
956 #define RCLCPP_FATAL_STREAM_FUNCTION(logger, function, stream_arg) \
957 RCLCPP_LOG_STREAM_FUNCTION(RCUTILS_LOG_SEVERITY_FATAL, logger, function, stream_args)
963 #define RCLCPP_FATAL_STREAM_SKIPFIRST(logger, stream_arg) \
964 RCLCPP_LOG_STREAM_SKIPFIRST(RCUTILS_LOG_SEVERITY_FATAL, logger, stream_arg)
970 #define RCLCPP_FATAL_STREAM_THROTTLE(logger, clock, duration, stream_arg) \
971 RCLCPP_LOG_STREAM_THROTTLE(RCUTILS_LOG_SEVERITY_FATAL, logger, clock, duration, stream_arg)
977 #define RCLCPP_FATAL_STREAM_SKIPFIRST_THROTTLE(logger, clock, duration, stream_arg) \
978 RCLCPP_LOG_STREAM_SKIPFIRST_THROTTLE(RCUTILS_LOG_SEVERITY_FATAL, logger, clock, duration, \