debug-caller v2.2.0
debug-caller
A wrapper around the debug module,
providing the additional ability to determine the calling file name for debug's
namespace using caller. Get automatic
unique namespaces each time you use debug!
Quick Examples
Basic usage
// foo.js
var logger = require("debug-caller")("my-app");
logger.log("logging data"); // "my-app:foo logging data"Used in a logging utility (recommended)
// logger.js
var debugCaller = require("debug-caller");
module.exports = function() {
// set a depth of 2 to avoid using this file within debug statements
// (since this is just a passthrough for logging)
return debugCaller("my-app", {
depth: 2
});
};// foo.js
var logger = require("./logger")();
logger.log("logging data"); // "my-app:foo logging data"// bar.js
var logger = require("./logger")();
logger.log("doing work"); // "my-app:bar doing work"
logger.error("something went wrong!"); // "my-app:bar something went wrong!"Configuration
When you invoke debug-caller, you must specify an application name (or module
name) as the first parameter. The second parameter is an (optional) options object
which can contain any of the following:
depth : <number>
When using caller to find the calling file name, this states how high up the
stack to look for the name. If you do not specify the depth, it will default to 1,
using the immediate calling file name to build the namespace for the debug instance.
randomColors : <boolean>
By default, debug-caller will assign fixed colors to the two debug instances
returned: the log instance will always use white while the error instance
will always use red. To use random colors for each debug instance, pass in
true for this option. The default value for this option is false.
Note: this is only for TTY output.
logColor : <number>
By default, debug-caller will assign the color white(7) to the log debug instance. To set a custom color pass in a number (0-7).
- 0: gray
- 1: red
- 2: green
- 3: yellow
- 4: blue
- 5: pink
- 6: light blue
- 7: white
This option will be ignored if randomColors is set to true.
errorColor : <number>
By default, debug-caller will assign the color red(1) to the error debug instance. To set a custom color pass in a number (0-7).
- 0: gray
- 1: red
- 2: green
- 3: yellow
- 4: blue
- 5: pink
- 6: light blue
- 7: white
This option will be ignored if randomColors is set to true.
API
The debug-caller module provides two separate instances of debug using
the same namespace for each. The purpose is to provide the user with a function
to use for console.log (stdout) and console.error (stderr).
log()
Binds the logging to console.log (stdout) for the debug messages.
error()
Binds the logging to console.error (stderr) for the debug messages.
namespace
Returns the generated namespace used when configuring the debug instance.
Access Debug
If you need access to the debug module directly, it's available off the
require'd debug-caller object. For instance, to enable debug output by default
within your application (or module), you can enable it within your logger:
// logger.js
var debugCaller = require("debug-caller");
// enable debug output for our app
debugCaller.debug.enable("my-app*");
module.exports = function() {
// set a depth of 2 to avoid using this file within debug statements
// (since this is just a passthrough for logging)
return debugCaller("my-app", {
depth: 2
});
};Etc
- Licence: MIT
- Dependency Status: