dohlog 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/doh/log/append_acceptor.rb +22 -0
- data/lib/doh/log/email_acceptor.rb +3 -15
- data/lib/doh/log/event.rb +12 -2
- data/lib/doh/log/filter_acceptor.rb +4 -1
- metadata +3 -2
@@ -0,0 +1,22 @@
|
|
1
|
+
module DohLog
|
2
|
+
|
3
|
+
class AppendAcceptor
|
4
|
+
def initialize(acceptor, &pred)
|
5
|
+
@acceptor = acceptor
|
6
|
+
@pred = pred
|
7
|
+
end
|
8
|
+
|
9
|
+
def add(event)
|
10
|
+
extras_to_add = @pred.call(event)
|
11
|
+
if extras_to_add
|
12
|
+
event.extras.merge!(extras_to_add)
|
13
|
+
end
|
14
|
+
@acceptor.add(event)
|
15
|
+
end
|
16
|
+
|
17
|
+
def shutdown
|
18
|
+
@acceptor.shutdown
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -4,36 +4,24 @@ module DohLog
|
|
4
4
|
|
5
5
|
class EmailAcceptor
|
6
6
|
# required config fields are :from, :to, :server
|
7
|
-
def initialize(config
|
7
|
+
def initialize(config)
|
8
8
|
@config = config
|
9
|
-
@get_details = get_details
|
10
9
|
@msg_start = "From:#{config[:from]}\nTo:#{config[:to].join(', ')}\nContent-Type: text/plain\nSubject:"
|
11
10
|
end
|
12
11
|
|
13
12
|
def add(event)
|
14
|
-
msg = "#{@msg_start}#{event.severity_text}: #{event.msg}\n\n#{event.summary}\n#{
|
13
|
+
msg = "#{@msg_start}#{event.severity_text}: #{event.msg}\n\n#{event.summary}\n#{event.exception_text}"
|
15
14
|
Net::SMTP.start(@config[:server]) do |smtp|
|
16
15
|
begin
|
17
16
|
smtp.send_message(msg, @config[:from], @config[:to])
|
18
17
|
rescue => excpt
|
19
|
-
puts "
|
18
|
+
$stderr.puts "DohLog EmailAcceptor send failed: #{excpt}"
|
20
19
|
end
|
21
20
|
end
|
22
21
|
end
|
23
22
|
|
24
23
|
def shutdown
|
25
24
|
end
|
26
|
-
|
27
|
-
private
|
28
|
-
def details_text
|
29
|
-
map = @get_details.call
|
30
|
-
lines = []
|
31
|
-
map.each_pair do |key, value|
|
32
|
-
lines << "#{key}: #{value}"
|
33
|
-
end
|
34
|
-
lines.join("\n")
|
35
|
-
end
|
36
|
-
|
37
25
|
end
|
38
26
|
|
39
27
|
end
|
data/lib/doh/log/event.rb
CHANGED
@@ -3,10 +3,11 @@ require 'doh/log/severity'
|
|
3
3
|
module DohLog
|
4
4
|
|
5
5
|
class Event
|
6
|
-
attr_accessor :severity, :msg, :location, :exception, :time
|
6
|
+
attr_accessor :severity, :msg, :location, :exception, :extras, :time
|
7
7
|
|
8
8
|
def initialize(severity, msg, location = '', exception = nil)
|
9
9
|
@severity, @msg, @location, @exception = severity, msg, location, exception
|
10
|
+
@extras = {}
|
10
11
|
@time = Time.now
|
11
12
|
end
|
12
13
|
|
@@ -33,7 +34,16 @@ class Event
|
|
33
34
|
end
|
34
35
|
|
35
36
|
def summary
|
36
|
-
|
37
|
+
if @extras.empty?
|
38
|
+
extra_str = ''
|
39
|
+
else
|
40
|
+
extra_ary = []
|
41
|
+
@extras.each_pair do |key, value|
|
42
|
+
extra_ary << "#{key}: #{value}"
|
43
|
+
end
|
44
|
+
extra_str = "<#{extra_ary.join(', ')}> "
|
45
|
+
end
|
46
|
+
"#{datetime_text} [#{severity_text}] (#{location}) #{extra_str}: #{msg}"
|
37
47
|
end
|
38
48
|
end
|
39
49
|
|
@@ -1,14 +1,17 @@
|
|
1
1
|
module DohLog
|
2
2
|
|
3
3
|
class FilterAcceptor
|
4
|
-
def initialize(acceptor, &pred)
|
4
|
+
def initialize(acceptor, else_acceptor = nil, &pred)
|
5
5
|
@acceptor = acceptor
|
6
|
+
@else_acceptor = else_acceptor
|
6
7
|
@pred = pred
|
7
8
|
end
|
8
9
|
|
9
10
|
def add(event)
|
10
11
|
if @pred.call(event)
|
11
12
|
@acceptor.add(event)
|
13
|
+
elsif @else_acceptor
|
14
|
+
@else_acceptor.add(event)
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dohlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-10-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: dohutil
|
@@ -37,6 +37,7 @@ extensions: []
|
|
37
37
|
extra_rdoc_files:
|
38
38
|
- MIT-LICENSE
|
39
39
|
files:
|
40
|
+
- lib/doh/log/append_acceptor.rb
|
40
41
|
- lib/doh/log/email_acceptor.rb
|
41
42
|
- lib/doh/log/event.rb
|
42
43
|
- lib/doh/log/filter_acceptor.rb
|