#!/usr/bin/env bash
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/config"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$(dirname "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")/functions"

service-logs-cmd() {
  #E you can tail logs for a particular service:
  #E dokku $PLUGIN_COMMAND_PREFIX:logs lollipop
  #E by default, logs will not be tailed, but you can do this with the --tail flag:
  #E dokku $PLUGIN_COMMAND_PREFIX:logs lollipop --tail
  #E the default tail setting is to show all logs, but an initial count can also be specified
  #E dokku $PLUGIN_COMMAND_PREFIX:logs lollipop --tail 5
  #A service, service to run command against
  #F -t|--tail [<tail-num>], do not stop when end of the logs are reached and wait for additional output
  declare desc="print the most recent log(s) for this service"
  local cmd="$PLUGIN_COMMAND_PREFIX:logs" argv=("$@")
  [[ ${argv[0]} == "$cmd" ]] && shift 1
  declare SERVICE="$1" TAIL_FLAG="$2" TAIL_NUM_OPTIONAL="${3:-all}"

  [[ -z "$SERVICE" ]] && dokku_log_fail "Please specify a valid name for the service"
  verify_service_name "$SERVICE"
  service_logs "$SERVICE" "$TAIL_FLAG" "$TAIL_NUM_OPTIONAL"
}

service-logs-cmd "$@"
