Class: MongoidAppender

Inherits:
Logging::Appender
  • Object
show all
Defined in:
lib/mongoid_appender.rb

Defined Under Namespace

Classes: Log

Constant Summary collapse

VERSION =
"0.0.2"

Instance Method Summary collapse

Constructor Details

#initialize(name, opts = {}) ⇒ MongoidAppender

Returns a new instance of MongoidAppender.



25
26
27
# File 'lib/mongoid_appender.rb', line 25

def initialize (name, opts = {})
  	super(name, opts)
end

Instance Method Details

#write(event) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/mongoid_appender.rb', line 29

def write (event)
	if event.instance_of?(Logging::LogEvent)
		if event.data.is_a?(Exception)
			Log.create!(
				level: Logging::LNAMES[event.level],
				logger: event.logger,
				message: event.data.message,
				exception: event.data.class.to_s,
				backtrace: event.data.backtrace
			)
		else
			Log.create!(
				level: Logging::LNAMES[event.level],
				logger: event.logger,
				message: event.data.to_s
			)
		end
	else
		text = event.to_s

		Log.create!(
			level: text.split(" ")[0],
			logger: text.split(" ")[1],
			message: text[text.index(" : ") + 3..-1].split("\n\t")[0]
		) unless text.empty?
	end
end