2013-10-10 1 views
1

Я ищу, чтобы реализовать запрос/отклик в Spray. Теперь у меня есть пара дополнительных переменных, которые я хочу включить в мой журнал, такие как пользователь (если разрешен) и transactionId, который является всего лишь UUID, который будет использоваться при регистрации различных команд и запросов, чтобы все они могли быть связаны.Scala Спрей, определяющий исключения при регистрации

Теперь, если выбрано исключение, я перехожу в пользовательский ExceptionHandler. Это имеет отношение только к RequestContext, а не к каким-либо дополнительным свойствам, с которыми я хотел бы зарегистрироваться.

Есть ли какой-либо уникальный отступы, доступные в контексте, или каким-либо способом передать дополнительные значения в ExceptionHandler?

+0

Один из способов сделать это, чтобы определить обработчик исключений на уровне, где у вас есть вся эта информация доступна. – jrudolph

+0

'handleException (handler (user, transactionId))' и т. Д. – jrudolph

+0

Это полностью работает и, в отличие от ведения журнала, вложенные обработчики исключений переопределяют предыдущие обработчики, поэтому я могу сделать: обеспечить (UUID.randomUUID) {transactionId => handleException (restExceptionHandler (transactionId) { customAuthDirective() {user => handleException (restExceptionHandler (transactionId, пользователь)) Так что ура для этого! –

ответ

0

Из комментариев выше с более ясным, например:

provide(UUID.randomUUID) { transactionId => 
    handleException(restExceptionHandler(transactionId) { 
    customAuthDirective() { user => 
     handleException(restExceptionHandler(transactionId, user)) 

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

  • Нет связанных вопросов^_^