logger_extension 0.0.1 → 0.0.2

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,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