extended_rospylogs
implements for rospy
some of the extra functionalities found in roscpp
for logging.
You can install extended_rospylogs
from pip using
pip install extended_rospylogs
or using
pip install git+https://github.com/charlielito/extended_rospylogs
In rospy
there are only 5 functions for logging: rospy.logdebug
, rospy.loginfo
, rospy.logwarn
, rospy.logerr
and rospy.logfatal
. In roscpp
you can find other options like ROS_DEBUG_COND
, ROS_DEBUG_NAMED
, ROS_DEBUG_COND_NAMED
, etc (for more info go to ros logging).
The conditional option for logging is very useful when you want to have different logging messages in your nodes, and you want to change it in runtime (because you only can specify the log_level
when initializing the node).
For the moment here are implemented all the rospy
logging functions with the cond
option:
logdebug_cond(bool, message)
loginfo_cond(bool, message)
logwarn_cond(bool, message)
logerr_cond(bool, message)
logfatal_cond(bool, message)
import rospy
from extended_rospylogs import logdebug_cond, loginfo_cond
rospy.init_node('some_node')
rate = 30
debug = True
r = rospy.Rate(rate)
while not rospy.is_shutdown():
#### DO STUFF
logdebug_cond(debug, "Some debug message")
loginfo_cond(debug, "Some info message for debugging")
r.sleep()
Note that the debug
variable could be a node parameter so it could be changed on runtime.