old_contents: # -*- coding: utf-8 -*-
  """
  An engine that reads messages from the salt event bus and pushes
  them onto a logstash endpoint.
  
  .. versionadded: 2015.8.0
  
  :configuration:
  
      Example configuration
  
      .. code-block:: yaml
  
          engines:
            - logstash:
                host: log.my_network.com
                port: 5959
                proto: tcp
  
  :depends: logstash
  """
  
  # Import python libraries
  from __future__ import absolute_import, print_function, unicode_literals
  
  import logging
  
  # Import salt libs
  import salt.utils.event
  
  # Import third-party libs
  try:
      import logstash
  except ImportError:
      logstash = None
  
  log = logging.getLogger(__name__)
  
  __virtualname__ = "logstash"
  
  
  def __virtual__():
      return (
          __virtualname__
          if logstash is not None
          else (False, "python-logstash not installed")
      )
  
  
  def event_bus_context(opts):
      if opts.get("id").endswith("_master"):
          event_bus = salt.utils.event.get_master_event(
              opts, opts["sock_dir"], listen=True
          )
      else:
          event_bus = salt.utils.event.get_event(
              "minion",
              transport=opts["transport"],
              opts=opts,
              sock_dir=opts["sock_dir"],
              listen=True,
          )
      return event_bus
  
  
  def start(host, port=5959, tag="salt/engine/logstash", proto="udp"):
      """
      Listen to salt events and forward them to logstash
      """
  
      if proto == "tcp":
          logstashHandler = logstash.TCPLogstashHandler
      elif proto == "udp":
          logstashHandler = logstash.UDPLogstashHandler
  
      logstash_logger = logging.getLogger("python-logstash-logger")
      logstash_logger.setLevel(logging.INFO)
      logstash_logger.addHandler(logstashHandler(host, port, version=1))
  
      with event_bus_context(__opts__) as event_bus:
          log.debug("Logstash engine started")
          while True:
              event = event_bus.get_event()
              if event:
                  logstash_logger.info(tag, extra=event)
  
new_contents: """
  An engine that reads messages from the salt event bus and pushes
  them onto a logstash endpoint.
  
  .. versionadded: 2015.8.0
  
  :configuration:
  
      Example configuration
  
      .. code-block:: yaml
  
          engines:
            - logstash:
                host: log.my_network.com
                port: 5959
                proto: tcp
  
  :depends: logstash
  """
  
  import logging
  
  import salt.utils.event
  
  try:
      import logstash
  except ImportError:
      logstash = None
  
  log = logging.getLogger(__name__)
  
  __virtualname__ = "logstash"
  
  
  def __virtual__():
      return (
          __virtualname__
          if logstash is not None
          else (False, "python-logstash not installed")
      )
  
  
  def event_bus_context(opts):
      if opts.get("id").endswith("_master"):
          event_bus = salt.utils.event.get_master_event(
              opts, opts["sock_dir"], listen=True
          )
      else:
          event_bus = salt.utils.event.get_event(
              "minion",
              transport=opts["transport"],
              opts=opts,
              sock_dir=opts["sock_dir"],
              listen=True,
          )
      return event_bus
  
  
  def start(host, port=5959, tag="salt/engine/logstash", proto="udp"):
      """
      Listen to salt events and forward them to logstash
      """
  
      if proto == "tcp":
          logstashHandler = logstash.TCPLogstashHandler
      elif proto == "udp":
          logstashHandler = logstash.UDPLogstashHandler
  
      logstash_logger = logging.getLogger("python-logstash-logger")
      logstash_logger.setLevel(logging.INFO)
      logstash_logger.addHandler(logstashHandler(host, port, version=1))
  
      with event_bus_context(__opts__) as event_bus:
          log.debug("Logstash engine started")
          while True:
              event = event_bus.get_event()
              if event:
                  logstash_logger.info(tag, extra=event)
  
subject: Drop Py2 and six on salt/engines/logstash_engine.py