Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sindresorhus/filter-console

Filter out unwanted `console.log()` output
https://github.com/sindresorhus/filter-console

browser console console-log devtools exclude filter nodejs npm-package

Last synced: about 1 month ago
JSON representation

Filter out unwanted `console.log()` output

Awesome Lists containing this project

README

        

# filter-console

> Filter out unwanted `console.log()` output

Can be useful when you don't control the output, for example, filtering out PropType warnings from a third-party React component.

## Install

```
$ npm install filter-console
```

## Usage

```js
import filterConsole from 'filter-console';

const disableFilter = filterConsole(['🐼']);

const log = () => {
console.log('');
console.log('🦄');
console.log('🐼');
console.log('🐶');
};

log();

disableFilter();

log();
```

```
$ node example.js

🦄
🐶

🦄
🐼
🐶
```

## API

### filterConsole(excludePatterns, options?)

Returns a function, which when called, disables the filter.

#### excludePatterns

Type: `Array`

Console output that matches any of the given patterns are filtered from being logged. The patterns are matched against what would be logged and not the `console` method input arguments directly. Meaning an exclude pattern of `'foo bar'` will match `console.log('foo %s', 'bar')`.

Filter types:
- `string`: Checks if the string pattern is included in the console output.
- `RegExp`: Checks if the RegExp pattern matches the console output.
- `Function`: Receives the console output as a string and is expected to return a truthy/falsy value of whether to exclude it.

#### options

Type: `object`

##### methods

Type: `string[]`\
Default: `['log', 'debug', 'info', 'warn', 'error']`

Console methods to filter.

##### console

Type: `object`\
Default: `console`

Use a custom `console` object. Can be useful for testing or mocking.