Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include <ros/console.h>
00038 #include <console_bridge/console.h>
00039 #include "rosconsole_bridge/bridge.h"
00040
00041 namespace rosconsole_bridge
00042 {
00043
00044 OutputHandlerROS::OutputHandlerROS(void) : OutputHandler()
00045 {
00046 }
00047
00048 void OutputHandlerROS::log(const std::string &text, console_bridge::LogLevel level, const char *filename, int line)
00049 {
00050 switch (level)
00051 {
00052 case console_bridge::CONSOLE_BRIDGE_LOG_INFO:
00053 {
00054 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Info, std::string(ROSCONSOLE_NAME_PREFIX) + ".console_bridge");
00055 if (ROS_UNLIKELY(enabled))
00056 {
00057 ::ros::console::print(NULL, loc.logger_, loc.level_, filename, line, "", "%s", text.c_str());
00058 }
00059 }
00060 break;
00061 case console_bridge::CONSOLE_BRIDGE_LOG_WARN:
00062 {
00063 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Warn, std::string(ROSCONSOLE_NAME_PREFIX) + ".console_bridge");
00064 if (ROS_UNLIKELY(enabled))
00065 {
00066 ::ros::console::print(NULL, loc.logger_, loc.level_, filename, line, "", "%s", text.c_str());
00067 }
00068 }
00069 break;
00070 case console_bridge::CONSOLE_BRIDGE_LOG_ERROR:
00071 {
00072 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Error, std::string(ROSCONSOLE_NAME_PREFIX) + ".console_bridge");
00073 if (ROS_UNLIKELY(enabled))
00074 {
00075 ::ros::console::print(NULL, loc.logger_, loc.level_, filename, line, "", "%s", text.c_str());
00076 }
00077 }
00078 break;
00079 default:
00080
00081 {
00082 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Debug, std::string(ROSCONSOLE_NAME_PREFIX) + ".console_bridge");
00083 if (ROS_UNLIKELY(enabled))
00084 {
00085 ::ros::console::print(NULL, loc.logger_, loc.level_, filename, line, "", "%s", text.c_str());
00086 }
00087 }
00088 break;
00089 }
00090 }
00091
00092 RegisterOutputHandlerProxy::RegisterOutputHandlerProxy(void)
00093 {
00094 static OutputHandlerROS oh_ros;
00095 console_bridge::useOutputHandler(&oh_ros);
00096
00097
00098 console_bridge::setLogLevel(console_bridge::CONSOLE_BRIDGE_LOG_DEBUG);
00099 }
00100
00101 }