logfoo 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 090c89addea5e5f294a83fc7118fc5f05eb7fcc2
4
- data.tar.gz: e98d25ed50c2f2d443b3493b923924316b485620
3
+ metadata.gz: d2ab2a6961e98080ef4549bd79f9eeacc33b3ae6
4
+ data.tar.gz: 6612af471af0fd75cc61fc39f77d26c29ff354f6
5
5
  SHA512:
6
- metadata.gz: b25cfaf625776d1424efdb87e0da631657633bd56d228dac97648b3466498bebff63cb8e1b26e6b3e2d89fc7119ba14df08444ebc66b6bdb55745fddb0958e3f
7
- data.tar.gz: 2eb571f9dc9be891d7aaaaf972f4a2e5447c457a5c1787c0ca8989a196df17a5ef2c71789196d1930a56596e68758c30f606a3a9bbdb25b6c87a714462825d33
6
+ metadata.gz: 9a69c4988db2c8ad3865bb68da9689f1387df38c781e2edcaafb182f71aa18b2bcb4aefc33a62baf0c63a60040a7c14f7c2b859cc6e068b98d04fb6704443231
7
+ data.tar.gz: d0e105c5aba05d840e4b227cab173f6446f5f2e0d637adfe307c9dc8d071b64a1bdf5db45568c8a13d26680c79fd9574b269c49e37fe1b1256896d7f949a32bb
data/lib/logfoo.rb CHANGED
@@ -30,7 +30,6 @@ end
30
30
  formatters/logfmt_formatter
31
31
  formatters/simple_formatter
32
32
  appenders/io_appender
33
- exception_handlers/stderr_exception_handler
34
33
  measure
35
34
  app
36
35
  context
data/lib/logfoo/app.rb CHANGED
@@ -52,43 +52,31 @@ module Logfoo
52
52
  break
53
53
  when :boom
54
54
  raise IGNORE_ME_ERROR
55
- when ErrLine
56
- App._handle_exception(line)
57
55
  else
58
56
  App._append(line)
59
57
  end
60
58
  end
61
59
  rescue Exception => ex
62
60
  line = ErrLine.build(logger_name: self.class, exception: ex)
63
- App._handle_exception(line)
61
+ App._append(line)
64
62
  retry
65
63
  end
66
64
  end ; end
67
65
  end
68
66
 
69
67
  class App ; class << self
70
- @@appenders = []
71
- @@exception_handlers = []
68
+ @@appenders = []
72
69
 
73
70
  def appenders(*fn)
74
71
  @@appenders = fn.flatten
75
72
  end
76
73
 
77
- def exception_handlers(*fn)
78
- @@exception_handlers = fn.flatten
79
- end
80
-
81
- def _handle_exception(entry)
82
- @@exception_handlers.each{|fn| fn.call(entry) }
83
- end
84
-
85
74
  def _append(entry)
86
75
  @@appenders.each{|fn| fn.call(entry) }
87
76
  end
88
77
 
89
78
  def _reset!
90
79
  appenders IoAppender.new
91
- exception_handlers StderrExceptionHanlder.new
92
80
  end
93
81
  end ; end
94
82
 
@@ -1,21 +1,41 @@
1
1
  module Logfoo ; class IoAppender
2
- def initialize(io = nil, formatter = nil)
3
- @io = io || STDOUT
4
2
 
5
- if @io.respond_to?(:sync=)
6
- @io.sync = true
7
- end
3
+ def initialize(out: nil, err: nil, formatter: nil)
4
+ @stdout = out || STDOUT
5
+ @stderr = err || STDERR
6
+ @formatter = formatter || (tty? ? SimpleFormatter.new : LogfmtFormatter.new)
8
7
 
9
- is_tty = @io.respond_to?(:tty?) && @io.tty?
10
- @formatter = formatter || (is_tty ? SimpleFormatter.new : LogfmtFormatter.new)
8
+ sync!
11
9
  end
12
10
 
13
11
  def call(entry)
14
- write @formatter.call(entry)
12
+ io =
13
+ case entry
14
+ when ErrLine
15
+ @stderr
16
+ else
17
+ @stdout
18
+ end
19
+
20
+ io.write @formatter.call(entry)
21
+ io.flush
15
22
  end
16
23
 
17
- def write(body)
18
- @io.write body
19
- @io.flush
24
+ def tty?
25
+ [@stdout, @stderr].inject(true) do |memo, io|
26
+ if memo
27
+ memo = io.respond_to?(:tty?) && io.tty?
28
+ end
29
+ memo
30
+ end
20
31
  end
32
+
33
+ def sync!
34
+ [@stdout, @stderr].each do |io|
35
+ if io.respond_to?(:sync=)
36
+ io.sync = true
37
+ end
38
+ end
39
+ end
40
+
21
41
  end ; end
@@ -12,7 +12,7 @@ module Logfoo ; class LogfmtFormatter
12
12
  when ErrLine, LogLine
13
13
  format_line(line)
14
14
  else
15
- "#{remove_nl entry.to_s}\n"
15
+ "#{remove_nl line.to_s}\n"
16
16
  end
17
17
  end
18
18
 
@@ -1,3 +1,3 @@
1
1
  module Logfoo
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logfoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Galinsky
@@ -100,7 +100,6 @@ files:
100
100
  - lib/logfoo/appenders/io_appender.rb
101
101
  - lib/logfoo/context.rb
102
102
  - lib/logfoo/entries.rb
103
- - lib/logfoo/exception_handlers/stderr_exception_handler.rb
104
103
  - lib/logfoo/formatters/logfmt_formatter.rb
105
104
  - lib/logfoo/formatters/simple_formatter.rb
106
105
  - lib/logfoo/integrations/hutch.rb
@@ -1,9 +0,0 @@
1
- module Logfoo ; class StderrExceptionHanlder
2
- def initialize(appender = nil)
3
- @appender = appender || IoAppender.new(STDERR)
4
- end
5
-
6
- def call(entry)
7
- @appender.call entry
8
- end
9
- end ; end