log_wrapper.h
Go to the documentation of this file.
00001 /*
00002 * Software License Agreement (BSD License)
00003 *
00004 * Copyright (c) 2011, Southwest Research Institute
00005 * All rights reserved.
00006 *
00007 * Redistribution and use in source and binary forms, with or without
00008 * modification, are permitted provided that the following conditions are met:
00009 *
00010 *       * Redistributions of source code must retain the above copyright
00011 *       notice, this list of conditions and the following disclaimer.
00012 *       * Redistributions in binary form must reproduce the above copyright
00013 *       notice, this list of conditions and the following disclaimer in the
00014 *       documentation and/or other materials provided with the distribution.
00015 *       * Neither the name of the Southwest Research Institute, nor the names
00016 *       of its contributors may be used to endorse or promote products derived
00017 *       from this software without specific prior written permission.
00018 *
00019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00020 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00021 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00022 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00023 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00024 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00025 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00026 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00027 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00028 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00029 * POSSIBILITY OF SUCH DAMAGE.
00030 */
00031 
00032 #ifndef LOG_WRAPPER_H_
00033 #define LOG_WRAPPER_H_
00034 
00035 #ifdef ROS
00036 #include "ros/ros.h"
00037 #endif
00038 
00039 #ifdef MOTOPLUS
00040 #include "motoPlus.h"
00041 #endif
00042 
00043 namespace industrial
00044 {
00045 
00053 namespace log_wrapper
00054 {
00055     
00056 
00057 // Define ROS if this library will execute under ROS
00058 #ifdef ROS
00059 
00060 // The LOG_COMM redirects to debug in ROS because ROS has
00061 // debug filtering tools that allow the communications messages
00062 // to be easily removed from the logs
00063 #define LOG_COMM(format, ...)  \
00064   ROS_DEBUG(format, ##__VA_ARGS__)
00065   
00066 #define LOG_DEBUG(format, ...)  \
00067   ROS_DEBUG(format, ##__VA_ARGS__)
00068 
00069 #define LOG_INFO(format, ...)  \
00070   ROS_INFO(format, ##__VA_ARGS__)
00071 
00072 #define LOG_WARN(format, ...)  \
00073   ROS_WARN(format, ##__VA_ARGS__)
00074 
00075 #define LOG_ERROR(format, ...)  \
00076   ROS_ERROR(format, ##__VA_ARGS__)
00077 
00078 #define LOG_FATAL(format, ...)  \
00079   ROS_FATAL(FATAL, ##__VA_ARGS__)
00080 
00081 #elif defined(STDIOLOG)
00082 
00083 #define LOG(level, format, ...) \
00084 do \
00085 { \
00086   printf(level); \
00087   printf(": "); \
00088   printf(format, ##__VA_ARGS__); \
00089   printf("\n"); \
00090   } while (0)
00091 
00092 // WARNING: LOG_COMM produces many messages and could slow down program
00093 // execution on the robot.
00094 #define LOG_COMM(format, ...)  LOG("COMM", format, ##__VA_ARGS__) 
00095 #define LOG_DEBUG(format, ...) LOG("DEBUG", format, ##__VA_ARGS__) 
00096 #define LOG_INFO(format, ...)  LOG("INFO", format, ##__VA_ARGS__)
00097 #define LOG_WARN(format, ...)  LOG("WARNING", format, ##__VA_ARGS__)
00098 #define LOG_ERROR(format, ...) LOG("ERROR", format, ##__VA_ARGS__)
00099 #define LOG_FATAL(format, ...) LOG("FATAL", format, ##__VA_ARGS__)
00100 
00101 #else
00102 // LOG DISABLED
00103 
00104 #define LOG_COMM(format, ...)  
00105 #define LOG_DEBUG(format, ...) 
00106 #define LOG_INFO(format, ...)  
00107 #define LOG_WARN(format, ...) 
00108 #define LOG_ERROR(format, ...) 
00109 #define LOG_FATAL(format, ...) 
00110 
00111 #endif 
00112 
00113 
00114 
00115 } // namespace industrial
00116 } // namespace loge_wrapper
00117 
00118 #endif /* LOG_WRAPPER_H_ */


simple_message
Author(s): Shaun Edwards
autogenerated on Tue Jan 17 2017 21:10:02