What's the best way to debug RxJava problems with not received messages What's the best way to debug RxJava problems with not received messages multithreading multithreading

What's the best way to debug RxJava problems with not received messages


By now I can't reproduce the problem but I've found RxJavaDebug a very good tool for debugging.

It's use is simple: add the library as a dependency and at application start register a listener:

  RxJavaPlugins.getInstance().registerObservableExecutionHook(new DebugHook(new DebugNotificationListener() {      public Object onNext(DebugNotification n) {          Log.v(TAG, "onNext on " + n);          return super.onNext(n);      }        public Object start(DebugNotification n) {            Log.v(TAG, "start on " + n);            return super.start(n);        }        public void complete(Object context) {            Log.v(TAG, "complete on " + context);        }        public void error(Object context, Throwable e) {            Log.e(TAG, "error on " + context);        }  }));

That will log messages while they go between observables and operators.