开发者社区> 镜像站> NPM> redux-cli-logger
redux-cli-logger
Redux logger for a node environment
Last updated 3 years ago by fasterthanlime .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install redux-cli-logger 
SYNC missed versions from official npm registry.

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

redux-node-logger screenshot

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,
}

Current Tags

  • 2.1.0                                ...           latest (3 years ago)

7 Versions

  • 2.1.0                                ...           3 years ago
  • 2.0.1                                ...           3 years ago
  • 2.0.0                                ...           4 years ago
  • 1.3.1                                ...           5 years ago
  • 1.3.0                                ...           5 years ago
  • 1.2.0                                ...           5 years ago
  • 1.0.0                                ...           5 years ago