anchor.diff:  ----
   
   Finally, the logstash configuration.
  -It is quite simple, however access log events tend to have field names, that are incompatible with recent versions of elasticsearch, therefore they need to be adapted a bit:
  +
  +It is quite a simple configuration, however access log events tend to have field names that are incompatible with recent versions of elasticsearch. To work around this problem, they need to be adapted a bit, as shown in the filter below:
   
   [source,ruby]
   ----
  
positive.code: == Adapt your application
  
  Your application also needs small tuning now to prevent various class incompatibility errors.
  Both slf4j-api, and logback-classic should now be a _provided_ dependencies of your application. 
  In other words, there should not be included in your _.war_ or _.ear_ build.
  
  == Downsides
  
  `asadmin set-log-levels` no longer works, as logback is the one filtering the levels and you need different way of controlling log levels.
  
  == Give feedback
  
  Let us know how this setup works for you.
  You're also invited to share your projects' https://github.com/goodees/goodees[goodees]!
  
negative.code: :hp-tags: Payara, Logback, Elasticsearch
  // :hp-alt-title: My English Title
  
  When running multiple instances of an application server it is quite hard to see correlations between events.
  One of the best tools to enable that is https://www.elastic.co/products[the ELK stack] - Elasticsearch for building fulltext index of the log entries, Logstash for managing the inflow the events, and Kibana as a user interface on top of that.
  
  https://docs.payara.fish/documentation/core-documentation/logging/payara/json-formatter.html[Solutions for Payara Server exist, that use better parseable log format] which can be then processed by https://www.elastic.co/products/beats/filebeat[Logstash Filebeat] in order to have these log entries processed by a remote Logstash server.
  
  In our project, we chose a different path -- we replaced all logging in the server and our applications with Logback, and make use of the `logback-logstash-appender` to push the events directly to Logstash over a TCP socket.
  The appender uses LMAX disruptor internally to push the logs, so the processes does not block the application flow.
  
  This article will show you how to have this configured for your project as well.
  
  == Log everything via Logstash
  
  In first step, we replace the backend for Payara Server's logging with logstash.
  
  https://github.com/goodees/goodees[Project goodees] was started by me to collect useful small components for Java EE, and Payara Server in particular.
  The first released component is https://github.com/goodees/goodees/tree/master/payara-logback[payara-logback], that includes all libraries properly packaged to use logback as the logging backend in Payara Server and also includes an installation script.
  
  Follow https://github.com/goodees/goodees/blob/master/payara-logback/README.adoc[the instructions there] to switch your logging.
  
  
  == Logback and logstash configuration
  