48 lines
6.6 KiB
JSON
48 lines
6.6 KiB
JSON
|
{
|
||
|
"name": "debug",
|
||
|
"version": "2.0.0",
|
||
|
"repository": {
|
||
|
"type": "git",
|
||
|
"url": "git://github.com/visionmedia/debug.git"
|
||
|
},
|
||
|
"description": "small debugging utility",
|
||
|
"keywords": [
|
||
|
"debug",
|
||
|
"log",
|
||
|
"debugger"
|
||
|
],
|
||
|
"author": {
|
||
|
"name": "TJ Holowaychuk",
|
||
|
"email": "tj@vision-media.ca"
|
||
|
},
|
||
|
"contributors": [
|
||
|
{
|
||
|
"name": "Nathan Rajlich",
|
||
|
"email": "nathan@tootallnate.net",
|
||
|
"url": "http://n8.io"
|
||
|
}
|
||
|
],
|
||
|
"dependencies": {
|
||
|
"ms": "0.6.2"
|
||
|
},
|
||
|
"devDependencies": {
|
||
|
"browserify": "5.11.0",
|
||
|
"mocha": "*"
|
||
|
},
|
||
|
"main": "./node.js",
|
||
|
"browser": "./browser.js",
|
||
|
"component": {
|
||
|
"scripts": {
|
||
|
"debug/index.js": "browser.js",
|
||
|
"debug/debug.js": "debug.js"
|
||
|
}
|
||
|
},
|
||
|
"readme": "# debug\n\n tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n , http = require('http')\n , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + ' ' + req.url);\n res.end('hello\\n');\n}).listen(3000, function(){\n debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n You can also exclude specific debuggers by prefixing them with a \"-\" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n option. These are WebKit web inspectors, Firefox ([since version\n 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n and the Firebug plugin for Firefox (any version).\n\n Colored output looks something like:\n\n ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stderr.js_:\n\n```js\nvar debug = r
|
||
|
"readmeFilename": "Readme.md",
|
||
|
"bugs": {
|
||
|
"url": "https://github.com/visionmedia/debug/issues"
|
||
|
},
|
||
|
"_id": "debug@2.0.0",
|
||
|
"_from": "debug@~2.0.0"
|
||
|
}
|