tlogger 0.4 → 0.5.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b86e2cb6836e268176b31f6ce4e7d6fcfd819f736988ae110dbbd00d40260881
4
- data.tar.gz: 17b63a9ee7a5d60c9f22381d3da9b2107d854d5f445d24e41410aee51d9026d9
3
+ metadata.gz: 81d536a6b52ad6b35e449b2a19b92d72c16310f6bcb8214b4fce73e4b32785f7
4
+ data.tar.gz: 4fc37ffecf6133063994e87ae8689641a391f545b52965f37aa28fa3ec316fca
5
5
  SHA512:
6
- metadata.gz: 998b911a6eb9195d62aed020e36e86422c36081bb3a95eb8eb4c787b032b97f2b804094b33ebfd4b60a41fc3ac3f26f5e72867db9684ee6a0587e5822eea6f26
7
- data.tar.gz: 6d7b8f29e67dc041e3787a2e69ad958a72df10f3da7e3d38d00800a445a1dbbd1ed8570b7ebf92dc8c607a08cd78b5ef7348369f02f2c5cbfaf7207fb9141235
6
+ metadata.gz: 7ca899db52484b56c039954d196a563c133f5d9d19d0c0c2d1617c92ef3d8974632721f0461db718a2ba2d3588b005502b6ce610cbe7d9de84c55982fa3aa7a7
7
+ data.tar.gz: a59e8c857a39769189c98f97dc92d7405268dca08655f85d14eb855164fc936cbd338865bd48bea8c2b418226ff43abb398df99a9064370b80dc58755ba41fac
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tlogger (0.3)
4
+ tlogger (0.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,3 +1,3 @@
1
1
  module Tlogger
2
- VERSION = "0.4"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/tlogger.rb CHANGED
@@ -14,15 +14,23 @@ module Tlogger
14
14
  #
15
15
  class TloggerConf
16
16
  include Singleton
17
- attr_reader :active_tags, :scoped_tag, :disabled_tags, :auto_tag
17
+ attr_reader :active_tags, :scoped_tag, :blacklisted_tags, :auto_tag
18
18
  #GLOBAL_TAG = :global
19
19
  GLOBAL_TAG = ""
20
+ INT_TAG = :tlogger
20
21
 
21
22
  def initialize
22
23
  @active_tags = []
23
- @disabled_tags = []
24
+ # tag added to black listed will not be printed out even the tag is added later in the code path
25
+ @blacklisted_tags = []
24
26
  @disable_all_tags = false
25
27
  @auto_tag = false
28
+ # todo
29
+ # allow to redirect certain tag to specific output. tag: [<config>]
30
+ @output_map = {}
31
+ # if output_map is there, then there should be pre created log file with specific output defined in the map. [<config>] => log_instance
32
+ @output_log = {}
33
+ # end todo
26
34
  end
27
35
 
28
36
  def auto_tag_on
@@ -45,11 +53,11 @@ module Tlogger
45
53
  @active_tags.delete(tag)
46
54
  end
47
55
 
48
- def disable_tag(tag)
56
+ def blacklist_tag(tag)
49
57
  if tag.is_a?(Array)
50
- @disabled_tags += tag
58
+ @blacklisted_tags += tag
51
59
  else
52
- @disabled_tags << tag
60
+ @blacklisted_tags << tag
53
61
  end
54
62
  end
55
63
 
@@ -61,21 +69,25 @@ module Tlogger
61
69
  @disable_all_tags = false
62
70
  end
63
71
 
64
- def enable_tag(tag)
72
+ def whitelist_tag(tag)
65
73
  if tag.is_a?(Array)
66
74
  tag.each do |t|
67
- @disabled_tags.delete(t)
75
+ @blacklisted_tags.delete(t)
68
76
  end
69
77
  else
70
- @disabled_tags.delete(tag)
78
+ @blacklisted_tags.delete(tag)
71
79
  end
72
80
  end
73
-
81
+
82
+ def whitelist_all_tags
83
+ @disabled_tags.clear
84
+ end
85
+
74
86
  def is_tag_active?(tag)
75
87
  if @disable_all_tags
76
88
  false
77
89
  else
78
- @active_tags.include?(tag) and not @disabled_tags.include?(tag)
90
+ @active_tags.include?(tag) #and not @disabled_tags.include?(tag)
79
91
  end
80
92
  end
81
93
 
@@ -83,10 +95,6 @@ module Tlogger
83
95
  @active_tags.clear
84
96
  end
85
97
 
86
- def remove_all_disabled_tags
87
- @disabled_tags.clear
88
- end
89
-
90
98
  def set_scoped_tag(tag)
91
99
  @scoped_tag = tag
92
100
  end
@@ -104,7 +112,8 @@ module Tlogger
104
112
  end
105
113
 
106
114
  def is_scoped_tag_active?
107
- not @disabled_tags.include?(@scoped_tag)
115
+ #@active_tags.include?(@scoped_tag)
116
+ not @blacklisted_tags.include?(@scoped_tag)
108
117
  end
109
118
 
110
119
  def self.method_missing(mtd,*args,&block)
@@ -133,6 +142,8 @@ module Tlogger
133
142
  end
134
143
  @tlogger = Logger.new(*args)
135
144
  @tag = TloggerConf::GLOBAL_TAG
145
+ # disable by default
146
+ # If there is issue then enable it back in application level
136
147
  self
137
148
  end
138
149
 
@@ -144,75 +155,85 @@ module Tlogger
144
155
 
145
156
  def tdebug(tag,*args)
146
157
  with_tag(tag) do
147
- debug(*args)
158
+ self.debug(*args)
148
159
  end
149
160
  self
150
161
  end
151
162
 
152
163
  def terror(tag, *args)
153
164
  with_tag(tag) do
154
- error(*args)
165
+ self.error(*args)
155
166
  end
156
167
  self
157
168
  end
158
169
 
159
170
  def tinfo(tag, *args)
160
171
  with_tag(tag) do
161
- info(*args)
172
+ self.info(*args)
162
173
  end
163
174
  self
164
175
  end
165
176
 
166
177
  def twarn(tag, *args)
167
178
  with_tag(tag) do
168
- warn(*args)
179
+ self.warn(*args)
169
180
  end
170
181
  self
171
182
  end
172
183
 
184
+ def intDebug(msg)
185
+ #puts TloggerConf.active_tags
186
+ if TloggerConf.instance.is_tag_active?(TloggerConf::INT_TAG)
187
+ msg2 = "[#{TloggerConf::INT_TAG}] #{msg}"
188
+ #puts "intDebug"
189
+ @tlogger.debug(msg2)
190
+ end
191
+ end
192
+
173
193
  def method_missing(mtd,*args,&block)
174
- @tlogger.debug "[tlogger] method_missing: Method #{mtd}"
194
+ #@tlogger.debug "[tlogger] method_missing: Method #{mtd}"
195
+ intDebug("method_missing: #{mtd}")
175
196
  if @tlogger.respond_to?(mtd)
176
- if TloggerConf.is_tag_active?(@tag) or TloggerConf.has_scoped_tag?
177
- if PROXY_MTD.include?(mtd)
178
- # All messages should be tagged under this section...
197
+
198
+ if PROXY_MTD.include?(mtd)
199
+
200
+ if @tag.nil? or @tag.empty?
201
+ # no tag. Output like normal log
202
+ @tlogger.send(mtd, *args, &block)
203
+
204
+ else
205
+
179
206
  if TloggerConf.has_scoped_tag?
180
207
  if TloggerConf.is_scoped_tag_active?
208
+ intDebug("Scoped tag detected")
181
209
  args[0] = "[#{TloggerConf.scoped_tag}] #{args[0]}"
182
210
  @tlogger.send(mtd,*args,&block)
183
211
  end
184
- else
185
- if not @tag.nil? and not @tag.empty?
186
- if @tag == TloggerConf::GLOBAL_TAG
187
- if TloggerConf.is_auto_tag_on?
188
- args = tag_class(*args)
189
- @tlogger.send(mtd,*args,&block)
190
- end
191
- else
192
- args[0] = "[#{@tag}] #{args[0]}"
193
- @tlogger.send(mtd,*args,&block)
194
- end
195
- elsif TloggerConf.is_auto_tag_on?
196
- args = tag_class(*args)
197
- @tlogger.send(mtd,*args,&block)
198
- end
212
+ elsif TloggerConf.is_auto_tag_on?
213
+ intDebug("auto_tag is on...")
214
+ args = tag_class(*args)
215
+ @tlogger.send(mtd,*args,&block)
216
+ elsif TloggerConf.is_tag_active?(@tag)
217
+ intDebug("Tagged output...")
218
+ args[0] = "[#{@tag}] #{args[0]}"
219
+ @tlogger.send(mtd,*args,&block)
199
220
  end
200
-
201
- else
202
- @tlogger.send(mtd,*args,&block)
221
+
203
222
  end
204
- # if in proxy method list
205
-
206
- #@tlogger.send(mtd,*args,&block)
207
223
 
208
- elsif TloggerConf.is_auto_tag_on?
209
- args = tag_class(*args)
224
+ else
225
+ intDebug("Not proxy method for logger. Pass to logger to handle. (#{mtd})")
226
+ ## not the debug, info, warn and error method, no need change message
210
227
  @tlogger.send(mtd, *args, &block)
211
228
  end
212
- elsif TloggerConf.respond_to?(mtd)
229
+
230
+
231
+ elsif TloggerConf.instance.respond_to?(mtd)
213
232
  # redirect the config method to make it consistent API
233
+ intDebug("Redirect to TloggerConf for consistancy (#{mtd})")
214
234
  TloggerConf.send(mtd, *args, &block)
215
235
  else
236
+ intDebug("Call method_missing parent to handle method '#{mtd}'")
216
237
  super
217
238
  end
218
239
  end
@@ -229,7 +250,7 @@ module Tlogger
229
250
 
230
251
  if not @cal.nil? and not @cal.empty?
231
252
  wd = Dir.getwd
232
- @scal = @cal[wd.length+1..-1]
253
+ @scal = @cal[wd.length..-1]
233
254
  args[0] = "[#{@scal}] #{args[0]}"
234
255
  end
235
256
 
data/samples/basic2.rb ADDED
@@ -0,0 +1,24 @@
1
+
2
+
3
+ l = Tlogger.new
4
+ l.tag = "dance"
5
+ #l.activate_tag(Tlogger::TloggerConf::INT_TAG)
6
+
7
+ l.debug "here"
8
+
9
+ #Tlogger::TloggerConf.blacklist_tag("jan")
10
+
11
+ l.with_tag 'jan' do
12
+ l.debug "inside"
13
+ puts "inside string"
14
+ l.debug "outside"
15
+ end
16
+
17
+ l.debug "towards the end"
18
+
19
+ l.tdebug :hans, "hans here"
20
+ l.terror :solo, "Error!"
21
+ l.tinfo :luke, "This is info!"
22
+ l.twarn :sky, "Sky is the limit"
23
+
24
+ #l.warn "warning!!"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tlogger
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Liaw
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-11 00:00:00.000000000 Z
11
+ date: 2019-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -85,6 +85,7 @@ files:
85
85
  - lib/tlogger/version.rb
86
86
  - release.job
87
87
  - samples/basic.rb
88
+ - samples/basic2.rb
88
89
  - tlogger.gemspec
89
90
  homepage: ''
90
91
  licenses: