semlogger 0.0.7 → 0.0.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/VERSION +1 -1
- data/lib/semlogger.rb +46 -13
- data/lib/semlogger/writer.rb +5 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.8
|
data/lib/semlogger.rb
CHANGED
@@ -2,7 +2,10 @@ require 'json'
|
|
2
2
|
|
3
3
|
class Object
|
4
4
|
def to_semlogger
|
5
|
-
[
|
5
|
+
[
|
6
|
+
self.class.name.to_sym,
|
7
|
+
self.respond_to?( :serializable_hash) ? self.serializable_hash : self
|
8
|
+
]
|
6
9
|
end
|
7
10
|
end
|
8
11
|
|
@@ -28,14 +31,25 @@ end
|
|
28
31
|
|
29
32
|
class Semlogger < ::Logger
|
30
33
|
class Base
|
34
|
+
class <<self
|
35
|
+
attr_accessor :logger
|
36
|
+
end
|
31
37
|
attr_accessor :logger
|
32
38
|
|
33
|
-
def
|
34
|
-
@logger
|
39
|
+
def initialize
|
40
|
+
@logger = self.class.logger
|
41
|
+
end
|
42
|
+
|
43
|
+
def add severity, logger = nil, &block
|
44
|
+
(logger || @logger).add severity, self, &block
|
35
45
|
end
|
36
46
|
|
37
47
|
::Semlogger::Severity.constants.each do |severity|
|
38
|
-
module_eval
|
48
|
+
module_eval <<-EOC, __FILE__, __LINE__+1
|
49
|
+
def #{severity.downcase} *a, &e
|
50
|
+
add #{::Semlogger::Severity.const_get severity}, *a, &e
|
51
|
+
end
|
52
|
+
EOC
|
39
53
|
end
|
40
54
|
end
|
41
55
|
|
@@ -51,16 +65,29 @@ class Semlogger < ::Logger
|
|
51
65
|
|
52
66
|
attr_accessor :logdev, :level, :progname
|
53
67
|
class <<self
|
54
|
-
attr_accessor :progname
|
55
|
-
|
56
|
-
def
|
57
|
-
|
68
|
+
attr_accessor :progname, :logger
|
69
|
+
|
70
|
+
def new_rails_logger config
|
71
|
+
require 'semlogger/rack'
|
72
|
+
logdev = ::Rails.root.join( 'log', "#{::Rails.env.to_s.gsub('%', '%%')}.%Y-%m-%d.%$.log").to_s
|
73
|
+
logger = nil
|
74
|
+
if Rails.env.production?
|
75
|
+
logger = new logdev
|
76
|
+
logger.level = Semlogger::INFO
|
77
|
+
elsif Rails.env.development?
|
78
|
+
logger = new Semlogger::Multiplex.new( Semlogger::FInfo.new( Semlogger::Printer.new), Semlogger::Writer.new( logdev))
|
79
|
+
logger.level = Semlogger::DEBUG
|
80
|
+
else
|
81
|
+
logger = new logdev
|
82
|
+
logger.level = Semlogger::DEBUG
|
83
|
+
end
|
84
|
+
config.middleware.swap Rails::Rack::Logger, Semlogger::Rack, [], {reqid: :uuid}
|
85
|
+
config.logger = logger
|
86
|
+
end
|
58
87
|
|
59
|
-
|
60
|
-
r = CustomType.new *a
|
61
|
-
r.logger = self
|
62
|
-
r
|
88
|
+
def custom( *a) CustomType.new( *a).tap {|t| t.logger = self.logger } end
|
63
89
|
end
|
90
|
+
def custom( *a) CustomType.new( *a).tap {|t| t.logger = self } end
|
64
91
|
|
65
92
|
@@progname = nil
|
66
93
|
|
@@ -70,6 +97,7 @@ class Semlogger < ::Logger
|
|
70
97
|
end
|
71
98
|
@progname = a[0] || @@progname
|
72
99
|
@level, @data, @tags, @logdev = DEBUG, {}, [], logdev
|
100
|
+
self.class.logger = self if !self.class.logger && self.class.logger.is_a?( Semlogger::Default)
|
73
101
|
end
|
74
102
|
|
75
103
|
def tagged *tags, &e
|
@@ -142,6 +170,11 @@ end
|
|
142
170
|
|
143
171
|
require 'semlogger/rotate'
|
144
172
|
require 'semlogger/multiplex'
|
145
|
-
require 'semlogger/rack'
|
146
173
|
require 'semlogger/filter'
|
147
174
|
require 'semlogger/writer'
|
175
|
+
|
176
|
+
class Semlogger
|
177
|
+
class Default < Semlogger
|
178
|
+
end
|
179
|
+
self.logger ||= Default.new
|
180
|
+
end
|
data/lib/semlogger/writer.rb
CHANGED
@@ -3,7 +3,11 @@ end
|
|
3
3
|
|
4
4
|
class Semlogger::Writer < Semlogger::Output
|
5
5
|
def initialize logdev = nil
|
6
|
-
@logdev = logdev
|
6
|
+
@logdev = case logdev
|
7
|
+
when String then ::Semlogger::Rotate.new logdev
|
8
|
+
when nil then ::Semlogger::Rotate.new "log/#{File.basename $0}.%Y-%m-%d.%$.log"
|
9
|
+
else logdev
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
def add severity, time, progname, data, tags, message
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 8
|
9
|
+
version: 0.0.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Denis Knauf
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-10-
|
17
|
+
date: 2012-10-19 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|