redux-cli-logger
v2.1.0
Published
Redux logger for a node environment
Downloads
8,560
Maintainers
Readme
redux-cli-logger
A redux logger for command-line environments (node.js)
No innovations here, just a logger middleware for redux that will write all redux actions and state changes to the node.js console.
Configuration and output format inspired by redux-logger
Installation
npm install --save-dev redux-cli-logger
Usage
redux-cli-logger must be called as a function before being utilized as middleware. This allows passing in options to overwrite all colors and arrow icons, as well as a predicate that functions like that in redux-logger. Here's what a simple configureStore function might look like:
import reducer from '../reducers'
import createCLILogger from 'redux-cli-logger'
const middleware = [
// your middleware here
]
if (process.env.NODE_ENV === 'development') {
const loggerOptions = {
predicate: (getState, action) => !action.MONITOR_ACTION
}
const logger = createCLILogger(loggerOptions)
middleware.push(logger)
}
const enhancer = compose(
applyMiddleware(...middleware)
// optionally, electron-enhancer, redux-loop, etc.
)
const initialState = {}
const store = createStore(reducer, initialState, enhancer)
Configuration
The options object has overridable defaults that look like this:
{
downArrow: '▼',
rightArrow: '▶',
messageColor: 'bright-yellow',
prevColor: 'grey',
actionColor: 'bright-blue',
nextColor: 'green',
log: console.log,
// when non-null, only prints if predicate(getState, action) is truthy
predicate: null,
// useful to trim parts of the state atom that are too verbose
stateTransformer: (state) => state,
// useful to censor private messages (containing password, etc.)
actionTransformer: (action) => action,
}