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.
@@ -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, &get_details)
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#{details_text}\n#{event.exception_text}"
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 "dohlog EmailAcceptor send failed: #{excpt}"
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
@@ -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
- "#{datetime_text} [#{severity_text}] (#{location}) : #{msg}"
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.7
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-08-20 00:00:00.000000000 Z
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