anchor.diff:      .subscribe(event -> logger.info(...))
   ----
   
  -NOTE: You can also consume events from other components. Find out more in our *https://resilience4j.readme.io/[User Guide]*.
  +NOTE: You can also consume events from other components.
  +Find out more in our *https://resilience4j.readme.io/[User Guide]*.
   
   == Talks
   
  
positive.code: [[events]]
  == Consume emitted events
  
  `CircuitBreaker`, `RateLimiter`, `Cache`, `Bulkhead`, `TimeLimiter` and `Retry` components emit a stream of events. It can be consumed for logging, assertions and any other purpose.
  
  === Examples
  
  A `CircuitBreakerEvent` can be a state transition, a circuit breaker reset, a successful call, a recorded error or an ignored error. All events contains additional information like event creation time and processing duration of the call. If you want to consume events, you have to register an event consumer.
  
  [source,java]
  ----
  
negative.code: :warning-caption: :warning:
  endif::[]
  
  image:https://travis-ci.org/resilience4j/resilience4j.svg?branch=master["Build Status", link="https://travis-ci.org/resilience4j/resilience4j"]
  image:https://dev.azure.com/resilience4j/resilience4j/_apis/build/status/resilience4j.resilience4j?branchName=master["Build Status", link="https://dev.azure.com/resilience4j/resilience4j/_build/latest?definitionId=1&branchName=master"]
  image:https://api.bintray.com/packages/resilience4j/Maven/resilience4j/images/download.svg[link="https://bintray.com/resilience4j/Maven/resilience4j/_latestVersion"]
  image:http://img.shields.io/badge/license-ASF2-blue.svg["Apache License 2", link="http://www.apache.org/licenses/LICENSE-2.0.txt"]
  
  image:https://sonarcloud.io/api/project_badges/measure?project=resilience4j_resilience4j&metric=bugs["Bugs", link="https://sonarcloud.io/dashboard?id=resilience4j_resilience4j"]
  image:https://sonarcloud.io/api/project_badges/measure?project=resilience4j_resilience4j&metric=vulnerabilities["Vulnerabilities", link="https://sonarcloud.io/dashboard?id=resilience4j_resilience4j"]
  image:https://sonarcloud.io/api/project_badges/measure?project=resilience4j_resilience4j&metric=coverage["Coverage", link="https://sonarcloud.io/dashboard?id=resilience4j_resilience4j"]
  image:https://sonarcloud.io/api/project_badges/measure?project=resilience4j_resilience4j&metric=sqale_rating["Maintainability", link="https://sonarcloud.io/dashboard?id=resilience4j_resilience4j"]
  image:https://sonarcloud.io/api/project_badges/measure?project=resilience4j_resilience4j&metric=reliability_rating["Reliability", link="https://sonarcloud.io/dashboard?id=resilience4j_resilience4j"]
  image:https://sonarcloud.io/api/project_badges/measure?project=resilience4j_resilience4j&metric=security_rating["Security", link="https://sonarcloud.io/dashboard?id=resilience4j_resilience4j"]
  
  toc::[]
  
  == Introduction
  
  Resilience4j is a lightweight fault tolerance library inspired by https://github.com/Netflix/Hystrix[Netflix Hystrix], but designed for Java 8 and functional programming.
  Lightweight, because the library only uses http://www.vavr.io/[Vavr], which does not have any other external library dependencies.
  Netflix Hystrix, in contrast, has a compile dependency to https://github.com/Netflix/archaius[Archaius] which has many more external library dependencies such as Guava and Apache Commons Configuration.
  
  WARNING: Netflix Hystrix is no longer in active development, and is currently in maintenance mode.
  
  Resilience4j provides higher-order functions (decorators) to enhance any functional interface,
  lambda expression or method reference with a Circuit Breaker, Rate Limiter, Retry or Bulkhead.
  You can stack more than one decorator on any functional interface, lambda expression or method reference.
  The advantage is that you have the choice to select the decorators you need and nothing else.
  
  [source,java]
  ----
  