Class: Fluent::TerminalNotifierOutput

Inherits:
Output
  • Object
show all
Defined in:
lib/fluent/plugin/out_terminal_notifier.rb

Constant Summary collapse

DEFAULT_TITLE =
"Fluentd Notification"
DEFAULT_SUB_TITLE =
"Fluentd Notification Sub Title"

Instance Method Summary collapse

Constructor Details

#initializeTerminalNotifierOutput

Returns a new instance of TerminalNotifierOutput.



12
13
14
15
16
# File 'lib/fluent/plugin/out_terminal_notifier.rb', line 12

def initialize
  super

  require 'terminal-notifier'
end

Instance Method Details

#configure(conf) ⇒ Object



18
19
20
# File 'lib/fluent/plugin/out_terminal_notifier.rb', line 18

def configure(conf)
  super
end

#emit(tag, es, chain) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/fluent/plugin/out_terminal_notifier.rb', line 22

def emit(tag, es, chain)
  es.each{|time,record|
    message = record["message"] || "#{record.to_json} at #{Time.at(time).localtime}"
    options = make_option(record)
    TerminalNotifier.notify(message, options)
  }
  chain.next
end

#make_option(record) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/fluent/plugin/out_terminal_notifier.rb', line 31

def make_option(record)
  title = record["title"] || @title
  sub_title = record["sub_title"] || @sub_title
  options = {title: title, subtitle: sub_title}
  unless activate.empty?
    options.merge!(activate: activate)
  end
  options
end