console-hook
Version:
console hooks for override and capture
81 lines (60 loc) • 2.13 kB
Markdown
Hook into the `console` for transparent log recording in production and log capture for testing.
```sh
npm install console-hook
```
Works in the browser too, just grab `console-hook/index.js`.
```js
var Hook = require('console-hook');
var myHook = Hook().attach((method, args) => {
// method is the console[method] string
// args is the arguments object passed to console[method]
});
// okay, we're done playing with the console stuffs
myHook.detach();
```
```js
var Hook = require('console-hook');
var silence = true; // could be `isProduction`
var myHook = Hook(console, silence).attach((method, args) => {
// method is the console[method] string
// args is the arguments object passed to console[method]
});
// okay, we're done playing with the console stuffs
myHook.detach();
```
```js
var Hook = require('console-hook');
var myHook = Hook().attach('error', (method, args) => {
// method is the console[method] string, always "error"
// args is the arguments object passed to console[method]
});
// okay, we're done playing with the console stuffs
myHook.detach();
```
```js
// if you have an Ember app and already use Ember.Logger
var Hook = require('console-hook');
var myHook = Hook(Ember.Logger).attach((method, args) => {
// method is the console[method] string
// args is the arguments object passed to console[method]
});
// okay, we're done playing with the console stuffs
myHook.detach();
```
Contributions are incredibly welcome as long as they are standardly applicable
and pass the tests (or break bad ones). Tests are written in Mocha and
assertions are done with the Node.js core `assert` module.
```bash
# running tests
npm run test
```
Follow me on [Twitter](https://twitter.com/compooter) for updates or just for
the lolz and please check out my other [repositories](https://github.com/andrejewski)
if I have earned it. I thank you for reading.