ros / ros_comm

ROS communications-related packages, including core client libraries (roscpp, rospy, roslisp) and graph introspection tools (rostopic, rosnode, rosservice, rosparam).
http://wiki.ros.org/ros_comm
752 stars 911 forks source link

Added feature to enable or disable logs through service call #2256

Open Lakshay011 opened 2 years ago

Lakshay011 commented 2 years ago

Issue aimed Basically right now there is no way to stop logging during the runtime of rospy node ,event though using service call one cannot disable logs, they can only change the log level of the node. So to overcome this issue I have basically added a feature to enable/disable logs for any rospy node using base service set_logger_level.

Approach To enable/disable logs, one has to pass enable/disable parameter in logger, part of service request. Sample Service call to disable logging rosservice call /node_name/set_logger_level "logger: 'disable' level: 'info'" This will make sure no logs will get dump.

Moreover the logs will automatically get enable if any other logger is set in service request. Example: rosservice call /node_name/set_logger_level "logger: 'rospy' level: 'info'" or using enable parameter rosservice call /node_name/set_logger_level "logger: 'enable' level: 'info'"

Future Once this PR is approved I will raise a PR for roscpp part (already tested & created), so that any node can be disable using service call.