Sha256: 9e28d4fc84b73d4ec7639e4dabb582db2fd835f83a2d25b0b361a3bd1ac12c5a

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

# encoding: utf-8
require "logstash/outputs/base"
require "logstash/namespace"

# A simple output which prints to the STDOUT of the shell running
# Logstash. This output can be quite convenient when debugging
# plugin configurations, by allowing instant access to the event
# data after it has passed through the inputs and filters.
#
# For example, the following output configuration, in conjunction with the
# Logstash `-e` command-line flag, will allow you to see the results
# of your event pipeline for quick iteration. 
# 
#     output {
#       stdout {}
#     }
# 
# Useful codecs include:
#
# `rubydebug`: outputs event data using the ruby "awesome_print"
# library[http://rubygems.org/gems/awesome_print]
#
#     output {
#       stdout { codec => rubydebug }
#     }
#
# `json`: outputs event data in structured JSON format
#
#     output {
#       stdout { codec => json }
#     }
#
class LogStash::Outputs::Stdout < LogStash::Outputs::Base
  begin
     require "awesome_print"
  rescue LoadError
  end

  config_name "stdout"
  milestone 3
  
  default :codec, "line"

  public
  def register
    @codec.on_event do |event|
      $stdout.write(event)
    end
  end

  def receive(event)
    return unless output?(event)
    if event == LogStash::SHUTDOWN
      finished
      return
    end
    @codec.encode(event)
  end

end # class LogStash::Outputs::Stdout

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logstash-output-stdout-0.1.0 lib/logstash/outputs/stdout.rb