Logback ECS Encoder vs Logstash

I was doing some study on ELK stack and how to implement it with our spring boot microservices. I have seen two approaches to get logs from my application to kibana dashboard.

  1. Using logstash: File beat reads the log from my application and sent it to logstash for json format. Then logstash insert into the elastic database.
  2. Using Logback ECS Encoder: Using ECS encoder to get the log using json format. Then use filebeat to insert the log directly into the elastic database.

What are pros and cos of these two approach and which one is recommended?

Note: My applications generate a lots of log.