Media/WebRTC/Logging: Difference between revisions

From MozillaWiki
< Media‎ | WebRTC
Jump to navigation Jump to search
(Corrected NSPR logging link)
(Adding link to NSPR log levels.)
Line 10: Line 10:
=== Signaling (SDP offer/answer handling) ===
=== Signaling (SDP offer/answer handling) ===


This uses the normal Mozilla [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/Logging NSPR logging] infrastructure, which uses a comma-separated list of modules, each one with its indicated log level. For WebRTC, you'll be most interested in
This uses the normal Mozilla [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/Logging NSPR logging] infrastructure, which uses a comma-separated list of modules, each one with its indicated [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/NSPR_LOG_MODULES NSPR log level]. For WebRTC, you'll be most interested in
* NSPR_LOG_MODULES=signaling:5,mtransport:5
* NSPR_LOG_MODULES=signaling:5,mtransport:5
* NSPR_LOG_FILE=/path/to/nspr.log (if you don't want the default stderr)
* NSPR_LOG_FILE=/path/to/nspr.log (if you don't want the default stderr)

Revision as of 21:29, 12 January 2016

The various pieces of WebRTC do a lot of logging, and these logs can be very helpful to developers when trying to track down problems. This page provides instructions for turning these logging messages on so you can include them in bug reports, etc..

ICE/STUN/TURN

Set the following environment variables:

Signaling (SDP offer/answer handling)

This uses the normal Mozilla NSPR logging infrastructure, which uses a comma-separated list of modules, each one with its indicated NSPR log level. For WebRTC, you'll be most interested in

  • NSPR_LOG_MODULES=signaling:5,mtransport:5
  • NSPR_LOG_FILE=/path/to/nspr.log (if you don't want the default stderr)

You can also add ",timestamp" to that list if you want each log message to include timestamps.

getUserMedia

To log getUserMedia stuff, use NSPR_LOG_MODULES=mediamanager:5,getusermedia:5. For frame-by-frame logging, use mediamanager:6

Media (the GIPS stack: RTP/RTCP)

This also uses the Mozilla logging infrastructure, but it uses a bitmask to select which items are logged, instead of the default log levels. It also logs to a different destination by default.

  • NSPR_LOG_MODULES=webrtc_trace:65535
  • WEBRTC_TRACE_FILE=/path/to/WebRTC.log (the default is just "WebRTC.log")
    • If WEBRTC_TRACE_FILE=nspr, the logs will be inserted into the NSPR logs. Note this may have a major performance impact.

The full list of logging options is found in the TraceLevel enum (see <http://mxr.mozilla.org/mozilla-central/source/media/webrtc/trunk/webrtc/common_types.h#83>).