• Diff for "rosout"
Differences between revisions 19 and 20
Revision 19 as of 2008-09-09 21:18:45
Size: 2534
Editor: JoshFaust
Comment:
Revision 20 as of 2008-09-19 19:36:46
Size: 2378
Editor: EricBerger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 62: Line 62:
[[FullSearch(title:"rosout/")]] [[FullSearch(title:"rosout/" text:PackageReviewCategory)]]
Line 65: Line 65:
Enter the date in the appropriate box to generate a template for a design review meeting. Check the [:QAProcess] page for more information. Enter the date in the appropriate box to generate a template for an API or code review meeting. Check the [:QAProcess] page for more information.
Line 67: Line 67:
[[NewPage(PackageDesignReviewTemplate, Design Review, rosout, %s Design Review)]]
[[NewPage(PackageSpecificationReviewTemplate, Specification Review, rosout, %s Specification Review)]]
[[NewPage(PackageAPIReviewTemplate, API Review, rosout, %s API Review)]]
Line 70: Line 69:

[[NewPage(PackageMeetingTemplate, Other meeting notes, rosout, %s)]]

rosout

PROPOSAL/RFC

rosout is the name of the error reporting mechanism in ROS. It can be thought as comprising several components:

  • a rosout node for subscribing, logging, and republishing the messages
  • the global /rosout topic

  • the global /rosout_agg topic for subscribing to an aggregated feed

  • rostools/Log type

  • client APIs to facilitate easy use of the rosout reporting mechanism
    • in ["rospy"]: rospy.logerr(), rospy.logdebug(), rospy.logout(), rospy.logwarn()

rosout is a core Node and has preferential startup order.

[http://pr.willowgarage.com/pr-docs/ros-packages/rosout/html/index.html Auto-generated code documentation]

CHANGES

  • 8/21/08: renamed to rosout as it will accept messages of various log levels from DEBUG to INFO to ERROR, etc...
  • 5/20/08: renamed to roserr, as Tully pointed out the confusion of saying "log it to stderr"
  • 5/20/08: severity field added to .msg spec, along with our fancy new constants
  • 5/20/08: StdErr.msg -> Log.msg. Slightly more general, so we don't need a separate type for other logging-style messages.

/rosout topic

All nodes connect to the /rosout topic at startup time as publishers.

Log.msg

##
## Severity level constants
##
int FATAL=1  #fatal/critical level
int ERROR=2 #error level
int WARN=4  #warning level
int DEBUG=8 #debug level
int INFO=16 #general level
##
## Fields
##
int level
string name #name of node that failed (autoset)
string msg #error message 
string[] topics #topic names that the node publishes

Client API

The client APIs should hide the actual implementation details. The actual usage should be as simple as:

reportError(msg) reportWarning(msg) reportFatal(msg)

DebugService is another proposal for usage syntax and filtering semantics

Package Status: GetVal(PackageStatusDict,rosout)

Package review meeting notes

FullSearch(title:"rosout/" text:PackageReviewCategory)

Create new package review

Enter the date in the appropriate box to generate a template for an API or code review meeting. Check the [:QAProcess] page for more information.

NewPage(PackageAPIReviewTemplate, API Review, rosout, %s API Review) NewPage(PackageCodeReviewTemplate, Code Review, rosout, %s Code Review)


CategoryPackage

Wiki: rosout (last edited 2018-06-11 19:47:25 by Yong Li)