good-filter
good-filter
is a transform stream useful for filtering good server events based on given conditions.
Maintainer: Yehor Manzhula
Usage
new GoodFilter([config])
Creates a new GoodFilter object with the following arguments:
- `[config]` - optional configuration object with the following keys
- `response` - filter for response event
- `error` - filter for error event
- `log` - filter for log event
- `opts` - filter for opts event
Notice: By default good filter filters out all the events to allow event * sign should be used
In manifest.js
const GoodFilter = ; // Another one awesome plugin you definitely need to try const GoodFormat = ; moduleexports = // ... register: plugins: // ... plugin: 'good' options: reporters: consoleReporter: log: '*' // Allow all log events error: '*' // Allow all error events response: include: '*' exclude: route: /\/swaggerui\/.*/ // Route property should match regexp 'stdout' // ... ;
Customization
Matchers
good-filter supports few types of matcher values
- String - Property value should be equal to matcher value, * sign is used to match any value
- RegExp - Property value should match given RegExp using .match method
- Function - Function to be invoked with property value
- Array - Each array value is a separate matcher, under the hood OR logical operator is used, that mean that all of matchers should pass to pass the filter
String
const GoodFilter = ; // Another one awesome plugin you definitely need to try const GoodFormat = ; moduleexports = // ... register: plugins: // ... plugin: 'good' options: reporters: consoleReporter: log: '*' // Allow all log events error: '*' // Allow all error events response: include: '*' // Include all responses exclude: method: 'OPTIONS' // Exclude responses for OPTIONS method 'stdout' // ... ;
RegExp
const GoodFilter = ; // Another one awesome plugin you definitely need to try const GoodFormat = ; moduleexports = // ... register: plugins: // ... plugin: 'good' options: reporters: consoleReporter: log: '*' error: '*' response: include: '*' exclude: route: /\/swaggerui\/.*/ // Exclude swaggerui routes 'stdout' // ... ;
Function
const GoodFilter = ; // Another one awesome plugin you definitely need to try const GoodFormat = ; moduleexports = // ... register: plugins: // ... plugin: 'good' options: reporters: consoleReporter: log: '*' error: '*' response: include: '*' exclude: 'OPTIONS' 'DELETE'; // Exclude OPTIONS and DELETE method 'stdout' // ... ;
Array values
const GoodFilter = ; // Another one awesome plugin you definitely need to try const GoodFormat = ; moduleexports = // ... register: plugins: // ... plugin: 'good' options: reporters: consoleReporter: log: '*' error: '*' response: include: '*' exclude: method: 'OPTIONS' 'DELETE' 'stdout' // ... ;
Array of matchers
const GoodFilter = ; // Another one awesome plugin you definitely need to try const GoodFormat = ; moduleexports = // ... register: plugins: // ... plugin: 'good' options: reporters: consoleReporter: log: '*' error: '*' response: include: '*' exclude: 'OPTIONS' 'DELETE'; // Exclude OPTIONS and DELETE method // Works as AND logical operator route: '/health' // Works as OR operator route: '/test' 'stdout' // ... ;