• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# debuglog - backport of util.debuglog() from node v0.11
2
3To facilitate using the `util.debuglog()` function that will be available when
4node v0.12 is released now, this is a copy extracted from the source.
5
6## require('debuglog')
7
8Return `util.debuglog`, if it exists, otherwise it will return an internal copy
9of the implementation from node v0.11.
10
11## debuglog(section)
12
13* `section` {String} The section of the program to be debugged
14* Returns: {Function} The logging function
15
16This is used to create a function which conditionally writes to stderr
17based on the existence of a `NODE_DEBUG` environment variable.  If the
18`section` name appears in that environment variable, then the returned
19function will be similar to `console.error()`.  If not, then the
20returned function is a no-op.
21
22For example:
23
24```javascript
25var debuglog = util.debuglog('foo');
26
27var bar = 123;
28debuglog('hello from foo [%d]', bar);
29```
30
31If this program is run with `NODE_DEBUG=foo` in the environment, then
32it will output something like:
33
34    FOO 3245: hello from foo [123]
35
36where `3245` is the process id.  If it is not run with that
37environment variable set, then it will not print anything.
38
39You may separate multiple `NODE_DEBUG` environment variables with a
40comma.  For example, `NODE_DEBUG=fs,net,tls`.
41