logger_extension 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,60 @@
1
+ class MultiIOLogger
2
+
3
+ class LogDeviceMutex
4
+ include MonitorMixin
5
+ end
6
+
7
+ attr_reader :default_formatter
8
+ attr_accessor :default_progname
9
+
10
+ def initialize(*targets)
11
+ @targets = targets
12
+ @default_formatter = ::LoggerExtension::Formatter.new
13
+ @mutex = LogDeviceMutex.new
14
+ end
15
+
16
+ def write(*arguments)
17
+ @targets.each { |target|
18
+ begin
19
+ @mutex.synchronize do
20
+ begin
21
+ target.write(*arguments)
22
+ rescue
23
+ log_exception('WARN', 'log writing failed.--->', $!)
24
+ end
25
+ end
26
+ rescue Exception => ignored
27
+ log_exception('WARN', 'log writing failed.--->', ignored)
28
+ end
29
+ }
30
+ end
31
+
32
+ def close
33
+ @targets.each do |target|
34
+ begin
35
+ @mutex.synchronize do
36
+ target.close rescue nil
37
+ end
38
+ rescue Exception
39
+ target.close rescue nil
40
+ end
41
+ end
42
+ end
43
+
44
+ def datetime_format
45
+ default_formatter.datetime_format
46
+ end
47
+
48
+ def datetime_format=(format)
49
+ default_formatter.datetime_format = format
50
+ end
51
+
52
+ private
53
+ def log_exception(severity, message, exception)
54
+ write_message(message.to_s + default_formatter.call(severity, Time.now, default_progname, exception).to_s)
55
+ end
56
+
57
+ def write_message(message)
58
+ STDOUT.write message
59
+ end
60
+ end
@@ -1,3 +1,3 @@
1
1
  module LoggerExtension
2
- VERSION = "0.0.1".freeze
2
+ VERSION = "0.0.2".freeze
3
3
  end
@@ -1,65 +1,3 @@
1
1
  require 'monitor'
2
2
  require 'logger_extension/formatter'
3
-
4
- module LoggerExtension
5
- class MultiIOLogger
6
-
7
- class LogDeviceMutex
8
- include MonitorMixin
9
- end
10
-
11
- attr_reader :default_formatter
12
- attr_accessor :default_progname
13
-
14
- def initialize(*targets)
15
- @targets = targets
16
- @default_formatter = ::LoggerExtension::Formatter.new
17
- @mutex = LogDeviceMutex.new
18
- end
19
-
20
- def write(*arguments)
21
- @targets.each { |target|
22
- begin
23
- @mutex.synchronize do
24
- begin
25
- target.write(*arguments)
26
- rescue
27
- log_exception('WARN', 'log writing failed.--->', $!)
28
- end
29
- end
30
- rescue Exception => ignored
31
- log_exception('WARN', 'log writing failed.--->', ignored)
32
- end
33
- }
34
- end
35
-
36
- def close
37
- @targets.each do |target|
38
- begin
39
- @mutex.synchronize do
40
- target.close rescue nil
41
- end
42
- rescue Exception
43
- target.close rescue nil
44
- end
45
- end
46
- end
47
-
48
- def datetime_format
49
- default_formatter.datetime_format
50
- end
51
-
52
- def datetime_format=(format)
53
- default_formatter.datetime_format = format
54
- end
55
-
56
- private
57
- def log_exception(severity, message, exception)
58
- write_message(message.to_s + default_formatter.call(severity, Time.now, default_progname, exception).to_s)
59
- end
60
-
61
- def write_message(message)
62
- STDOUT.write message
63
- end
64
- end
65
- end
3
+ require 'logger_extension/multi_i_o_logger'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logger_extension
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-15 00:00:00.000000000 Z
12
+ date: 2013-07-18 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A utility for logging on multiple files for rack applications
15
15
  email:
@@ -25,6 +25,7 @@ files:
25
25
  - Rakefile
26
26
  - lib/logger_extension.rb
27
27
  - lib/logger_extension/formatter.rb
28
+ - lib/logger_extension/multi_i_o_logger.rb
28
29
  - lib/logger_extension/version.rb
29
30
  - logger_extension.gemspec
30
31
  homepage: https://github.com/kuldeepaggarwal/logger_extension