Media/WebRTC/Logging: Difference between revisions
m (→getUserMedia: fix case on module names, as they are case sensitive) |
(Replacing NSPR_LOG with MOZ_LOG) |
||
Line 1: | Line 1: | ||
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.. | 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.. | ||
=== Note about NSPR and MOZ_LOG === | |||
NSPR has been deprecated in favor of [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging MOZ_LOG]. | |||
Environment variable changes: | |||
* MOZ_LOG now takes the place of NSPR_LOG_MODULES | |||
* MOZ_LOG_FILE now takes the place of NSPR_LOG_FILE | |||
* Avoid having both NSPR_$FOO and MOZ_$FOO set. | |||
* (See <https://groups.google.com/forum/#!topic/mozilla.dev.platform/8AlMO5zv9kc>) | |||
=== ICE/STUN/TURN === | === ICE/STUN/TURN === | ||
Line 11: | Line 20: | ||
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 | 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 | ||
* | * MOZ_LOG=signaling:5,mtransport:5 | ||
* | * MOZ_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. Other options are available as well, and they are detailed under "Description" on the [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/NSPR_LOG_MODULES NSPR LOG MODULES] MDN page. | You can also add ",timestamp" to that list if you want each log message to include timestamps. Other options are available as well, and they are detailed under "Description" on the [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/NSPR_LOG_MODULES NSPR LOG MODULES] MDN page. | ||
=== getUserMedia === | === getUserMedia === | ||
To log getUserMedia stuff, use | To log getUserMedia stuff, use MOZ_LOG=MediaManager:5,GetUserMedia:5. For frame-by-frame logging, use MediaManager:6 | ||
=== Media (the GIPS stack: RTP/RTCP) === | === Media (the GIPS stack: RTP/RTCP) === | ||
Line 23: | Line 32: | ||
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. | 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. | ||
* | * MOZ_LOG=webrtc_trace:65535 | ||
* WEBRTC_TRACE_FILE=/path/to/WebRTC.log (the default is just "WebRTC.log") | * 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. | ** 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>). | 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>). |
Revision as of 19:35, 7 July 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..
Note about NSPR and MOZ_LOG
NSPR has been deprecated in favor of MOZ_LOG.
Environment variable changes:
- MOZ_LOG now takes the place of NSPR_LOG_MODULES
- MOZ_LOG_FILE now takes the place of NSPR_LOG_FILE
- Avoid having both NSPR_$FOO and MOZ_$FOO set.
- (See <https://groups.google.com/forum/#!topic/mozilla.dev.platform/8AlMO5zv9kc>)
ICE/STUN/TURN
Set the following environment variables:
- R_LOG_DESTINATION=stderr
- R_LOG_LEVEL=3 (can be anything between 1 and 9) (See <https://dxr.mozilla.org/mozilla-central/source/media/mtransport/third_party/nrappkit/src/port/win32/include/csi_platform.h> for levels)
- R_LOG_VERBOSE=1 (if you want to include the module name generating the message)
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
- MOZ_LOG=signaling:5,mtransport:5
- MOZ_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. Other options are available as well, and they are detailed under "Description" on the NSPR LOG MODULES MDN page.
getUserMedia
To log getUserMedia stuff, use MOZ_LOG=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.
- MOZ_LOG=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>).