def log(severity, message, file='', function='', line=0)
      @local_logger.log(@ruby_dict[severity], message, @node.node_name)
      msg = Rosgraph_msgs::Log.new
      msg.msg = message
      msg.header.stamp = ::ROS::Time.now
      msg.header.frame_id = 'rosout'
      msg.level = @msg_dict[severity]
      msg.name = @node.node_name
      msg.file = file
      if /in `(.*)'/ =~ function
        msg.function = $1
      else
        msg.function = ''
      end
      msg.line = line
      msg.topics = @node.get_published_topics
      @rosout.publish(msg)
      self
    end
def log(severity, message, file='', function='', line=0)
      @local_logger.log(@ruby_dict[severity], message, @node.node_name)
      msg = Rosgraph_msgs::Log.new
      msg.msg = message
      msg.header.stamp = ::ROS::Time.now
      msg.header.frame_id = 'rosout'
      msg.level = @msg_dict[severity]
      msg.name = @node.node_name
      msg.file = file
      if /in `(.*)'/ =~ function
        msg.function = $1
      else
        msg.function = ''
      end
      msg.line = line
      msg.topics = @node.get_published_topics
      @rosout.publish(msg)
      self
    end
start publishing /rosout and
 make a ruby logger instance for local output
 @param [Node] node {Node} instance
 @param [IO] output local output. $stdout is default

 outputs log messages with level and informations which
 rosout needs.
 @param [String] severity  log level: one of 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'
 @param [String] message  your message
 @param [String] file file name in which called this method
 @param [String] function function name in which called this method
 @param [Integer] line line number in which called this method
 @return [Log] self