2016-08-12 2 views
1

Есть ли способ, чтобы получить экспорт в магазине государственных/действий программно в производстве, которые могут быть импортированы обратно в Дев инструменты?Экспорта/Записывать ошибки отслеживания службы

Например, я могу установить промежуточное программное обеспечение, чтобы захватить текущее состояние и отправить его на что-то вроде (Trackjs, Sentry, Rollbar), но которому не хватает всех предыдущих состояний и действий.

Я хотел бы захватить в том же формате, что и экспорт из инструментов Redux Dev.

экспорт образцов из Dev Tools

{"monitorState":{},"actionsById":{"0":{"type":"PERFORM_ACTION","action":{"type":"@@INIT"},"timestamp":1471017239656},"1":{"type":"PERFORM_ACTION","action":{"type":"INCREMENT"},"timestamp":1471017242004}},"nextActionId":2,"stagedActionIds":[0,1],"skippedActionIds":[],"committedState":5,"currentStateIndex":1,"computedStates":[{"state":5},{"state":6}]} 
+0

Вы могли бы написать [Выборочная Monitor] (HTTPS://github.com/gaearon/redux-devtools/issues/3) для redux-devtools. Но не уверен, что неплохо использовать devtools в производстве. – Steffen

ответ

1

Это в настоящее время в разработке, но теперь вы можете нажать историю действий прямо в расширении см https://github.com/zalmoxisus/remotedev-server/pull/20

Другой вариант заключается в сохранить действий к JSON в качестве массива и импортировать обратно.

Возможно на https://github.com/zalmoxisus/redux-devtools-extension/issues/173

logger.js

let actions = [] 
export function logActions (stateSanitizer) { 
    return store => next => action => { 
    actions.push(action) 
    return next(action) 
    } 
} 

Эти действия могут быть сохранены в файл или базу данных и могут быть импортированы обратно в Дев инструментов.

Примеры действия

[{ 
    "type": "INCREMENT" 
    }, { 
    "type": "DECREMENT" 
    }, { 
    "type": "DECREMENT" 
    }, { 
    "type": "DECREMENT" 
    }, { 
    "type": "DECREMENT" 
    }] 

Я создал этот репозиторий, который Демос это в действии https://github.com/timarney/redux-trackjs-logger он использует промежуточное программное обеспечение для регистрации действий при возникновении ошибки.

0

Я поддерживаю промежуточное ПО Redux под названием Raven for Redux, которое прикрепляет данные Redux к отчетам об ошибках Sentry. В настоящее время для каждого отчета об ошибке добавляется следующий контекст:

  1. Полный объект состояния.
  2. Полный последний объект действия.
  3. type всех действий, которые ведут к текущему состоянию. Они добавляются как «панировочные сухари».

Блог Sentry имеет рецензию, описывающую его более подробно: https://blog.sentry.io/2016/08/24/redux-middleware-error-logging.html

Вы можете найти промежуточное как НПМ пакет здесь: https://github.com/captbaritone/raven-for-redux

Смежные вопросы