Class: Yell::Adapters::Fluentd

Inherits:
Base
  • Object
show all
Defined in:
lib/yell/adapters/fluentd.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#hostObject

Returns the value of attribute host.



9
10
11
# File 'lib/yell/adapters/fluentd.rb', line 9

def host
  @host
end

#logObject

Returns the value of attribute log.



10
11
12
# File 'lib/yell/adapters/fluentd.rb', line 10

def log
  @log
end

#portObject

Returns the value of attribute port.



9
10
11
# File 'lib/yell/adapters/fluentd.rb', line 9

def port
  @port
end

#tagObject

Returns the value of attribute tag.



9
10
11
# File 'lib/yell/adapters/fluentd.rb', line 9

def tag
  @tag
end

Instance Method Details

#connectObject



47
48
49
50
51
52
53
# File 'lib/yell/adapters/fluentd.rb', line 47

def connect
	begin
		@log ||= Fluent::Logger::FluentLogger.new(nil, :host => (@host || 'localhost'), :port => (@port || 24224))
	rescue => e
		# How do you log an error in the error logger?
	end
end

#format(*messages) ⇒ Object



55
56
57
58
59
# File 'lib/yell/adapters/fluentd.rb', line 55

def format( *messages )
	messages.inject(Hash.new) do |result, m|
		result.merge to_message(m)
	end
end

#to_message(message) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/yell/adapters/fluentd.rb', line 61

def to_message( message )
	case message
		when Hash
			message
		when Exception
			{ "short_message" => "#{message.class}: #{message.message}" }.tap do |m|
				m.merge!( "long_message" => message.backtrace.join("\n") ) if message.backtrace
			end
		else { "short_message" => message.to_s }
	end
end