tlogger 0.21.1 → 0.26.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 +4 -4
- data/.gitignore +2 -0
- data/Rakefile +2 -0
- data/lib/tlogger/tlogger.rb +32 -4
- data/lib/tlogger/version.rb +1 -1
- data/lib/tlogger.rb +47 -1
- data/lib/tlogger_helper.rb +35 -0
- data/samples/basic.rb +11 -0
- data/tlogger.gemspec +2 -0
- metadata +22 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 456f792986f50cb09f12b7bff8e062cb79cb705700e0a8f909f265d5a5f55df2
|
4
|
+
data.tar.gz: 16434a962194549c73ed7cc27b2b5a848b02c687716f31f59551a9b9e4202b4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7541a13f50860790deb9841cc265c25e37982cb1981de92a4d92fd4fee27473e21aac95a589b7b1f53a6d2afa0dbabf78f53dd499620798d4a1f6d61f222492a
|
7
|
+
data.tar.gz: 055e68a34f282a659d8e7699a52f0206a9149f60bb0b0ed8367f14fb466a7c9c35126a129807cf459b55f315c2c488dfaa4c0921a6505292f333b705b571409b
|
data/Rakefile
CHANGED
data/lib/tlogger/tlogger.rb
CHANGED
@@ -226,11 +226,11 @@ module Tlogger
|
|
226
226
|
if is_genabled?(key) and not tag_disabled?(key.to_sym)
|
227
227
|
if block
|
228
228
|
out = Proc.new { block.call }
|
229
|
-
args = [ format_message(
|
229
|
+
args = [ format_message(key) ]
|
230
230
|
else
|
231
231
|
str = args[1]
|
232
232
|
out = Proc.new { str }
|
233
|
-
args = [ format_message(
|
233
|
+
args = [ format_message(key) ]
|
234
234
|
end
|
235
235
|
|
236
236
|
mtd = mtd.to_s[1..-1].to_sym
|
@@ -245,11 +245,11 @@ module Tlogger
|
|
245
245
|
|
246
246
|
if block
|
247
247
|
out = Proc.new { block.call }
|
248
|
-
args = [ format_message(
|
248
|
+
args = [ format_message(key) ]
|
249
249
|
else
|
250
250
|
str = args[1]
|
251
251
|
out = Proc.new { str }
|
252
|
-
args = [ format_message(
|
252
|
+
args = [ format_message(key) ]
|
253
253
|
end
|
254
254
|
|
255
255
|
msg = out.call
|
@@ -262,6 +262,34 @@ module Tlogger
|
|
262
262
|
|
263
263
|
end
|
264
264
|
|
265
|
+
elsif [:ifdebug, :iferror, :ifinfo, :ifwarn].include?(mtd)
|
266
|
+
|
267
|
+
cond = args[0]
|
268
|
+
key = args[1]
|
269
|
+
|
270
|
+
if cond.is_a?(Proc)
|
271
|
+
cond = cond.call
|
272
|
+
end
|
273
|
+
|
274
|
+
if is_genabled?(key) and not tag_disabled?(key) and cond
|
275
|
+
|
276
|
+
if block
|
277
|
+
out = Proc.new { block.call }
|
278
|
+
args = [ format_message(key) ]
|
279
|
+
else
|
280
|
+
str = args[2]
|
281
|
+
out = Proc.new { str }
|
282
|
+
args = [ format_message(key) ]
|
283
|
+
end
|
284
|
+
|
285
|
+
msg = out.call
|
286
|
+
if not (msg.nil? or msg.empty?)
|
287
|
+
mtd = mtd.to_s[2..-1].to_sym
|
288
|
+
@logger.send(mtd, *args, &out)
|
289
|
+
end
|
290
|
+
|
291
|
+
end
|
292
|
+
|
265
293
|
elsif @logger.respond_to?(mtd)
|
266
294
|
@logger.send(mtd, *args, &block)
|
267
295
|
else
|
data/lib/tlogger/version.rb
CHANGED
data/lib/tlogger.rb
CHANGED
@@ -8,13 +8,59 @@ require_relative "tlogger/logger_group"
|
|
8
8
|
#
|
9
9
|
module Tlogger
|
10
10
|
class Error < StandardError; end
|
11
|
-
|
11
|
+
|
12
12
|
# shorten the initializer to Tlogger.new instead of the longer Tlogger::Tlogger.new
|
13
13
|
class << self
|
14
14
|
def new(*args,&block)
|
15
15
|
::Tlogger::Tlogger.new(*args,&block)
|
16
16
|
end
|
17
|
+
|
18
|
+
# detect if the prompt should be to env or file
|
19
|
+
def init
|
20
|
+
p is_dev?
|
21
|
+
if is_dev?
|
22
|
+
new(STDOUT)
|
23
|
+
else
|
24
|
+
c = output_channel
|
25
|
+
new(*c[:path])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def set_dev_mode
|
30
|
+
ENV["TLOGGER_MODE"] = "dev"
|
31
|
+
end
|
32
|
+
|
33
|
+
def set_production_mode
|
34
|
+
ENV.delete("TLOGGER_MODE")
|
35
|
+
end
|
36
|
+
|
37
|
+
def is_dev?
|
38
|
+
ENV.keys.include?("TLOGGER_MODE") and ENV["TLOGGER_MODE"].downcase == "dev"
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
private
|
43
|
+
def output_channel
|
44
|
+
out = ENV["TLOGGER_OUT"]
|
45
|
+
if not out.nil?
|
46
|
+
case out
|
47
|
+
when "file"
|
48
|
+
path = ENV["TLOGGER_OUTPATH"]
|
49
|
+
if path =~ /,/
|
50
|
+
{ mode: :file, path: path.split(",") }
|
51
|
+
else
|
52
|
+
{ mode: :file, path: [path] }
|
53
|
+
end
|
54
|
+
else
|
55
|
+
{ mode: :file, path: [nil] }
|
56
|
+
end
|
57
|
+
else
|
58
|
+
{ mode: :stdio, path: [nil] }
|
59
|
+
end
|
60
|
+
end
|
17
61
|
end # class self
|
18
62
|
|
63
|
+
|
19
64
|
end
|
20
65
|
|
66
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
|
2
|
+
require_relative 'tlogger'
|
3
|
+
|
4
|
+
module Tlogger
|
5
|
+
module TloggerHelper
|
6
|
+
|
7
|
+
module TloggerClassMethods
|
8
|
+
def tlogger(tag = nil)
|
9
|
+
if @tlogger.nil?
|
10
|
+
@tlogger = ::Tlogger.init
|
11
|
+
@tlogger.tag = tag if not (tag.nil? and tag.empty?)
|
12
|
+
end
|
13
|
+
@tlogger
|
14
|
+
end
|
15
|
+
|
16
|
+
def default_logger(tag, dev_mode = false)
|
17
|
+
::Tlogger.set_dev_mode if dev_mode
|
18
|
+
tlogger(tag)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.included(klass)
|
23
|
+
klass.extend(TloggerClassMethods)
|
24
|
+
end
|
25
|
+
|
26
|
+
self.extend(TloggerClassMethods)
|
27
|
+
|
28
|
+
if not respond_to?(:logger)
|
29
|
+
def logger
|
30
|
+
self.class.tlogger
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
data/samples/basic.rb
CHANGED
@@ -32,6 +32,7 @@ log.debug "Outside block. Shall take default tag '#{log.tag}'"
|
|
32
32
|
|
33
33
|
log.debug "About to show log message only show once. This can be useful if it is a warning which only print out per run."
|
34
34
|
(0..4).each do |i|
|
35
|
+
# Show message once only
|
35
36
|
# one time message tie to key
|
36
37
|
# Means if the message is under specific key and already prompted, it will skip
|
37
38
|
# Else it will be printed
|
@@ -60,3 +61,13 @@ log.debug "I'm inherited from key :global so I'm also not visible" # due to on_
|
|
60
61
|
log.tinfo :global, "Gosh! I've been turned off by default" # due to on_all_except(:global) this line shall not be printed
|
61
62
|
log.twarn :local, "I'm free!" # this line will show up because all is on
|
62
63
|
|
64
|
+
x = 2
|
65
|
+
# Log only print if the first parameters is true.
|
66
|
+
log.ifdebug(x == 2, :ifdebug, "Debug : x == 2!")
|
67
|
+
log.iferror(x == 2, :iferror, "Err : x == 2!")
|
68
|
+
log.ifinfo(x == 2, :ifinfo, "Info: x == 2!")
|
69
|
+
log.ifwarn(x == 2, :ifwarn, "Warn: x == 2!")
|
70
|
+
|
71
|
+
# first param also can be a proc
|
72
|
+
log.ifdebug Proc.new { x == 2 }, :ifdebug2, "Debug 2 : x == 2!"
|
73
|
+
|
data/tlogger.gemspec
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tlogger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
11
|
+
date: 2021-09-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: devops_helper
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: Logger that provides some control over how the log messages are being
|
14
28
|
displayed with conditionally enable and disable certain log messages from showing
|
15
29
|
based on configurations
|
@@ -31,6 +45,7 @@ files:
|
|
31
45
|
- lib/tlogger/logger_group.rb
|
32
46
|
- lib/tlogger/tlogger.rb
|
33
47
|
- lib/tlogger/version.rb
|
48
|
+
- lib/tlogger_helper.rb
|
34
49
|
- samples/basic.rb
|
35
50
|
- samples/group.rb
|
36
51
|
- tlogger.gemspec
|
@@ -39,7 +54,7 @@ licenses:
|
|
39
54
|
- MIT
|
40
55
|
metadata:
|
41
56
|
homepage_uri: https://github.com/chrisliaw/tlogger
|
42
|
-
post_install_message:
|
57
|
+
post_install_message:
|
43
58
|
rdoc_options: []
|
44
59
|
require_paths:
|
45
60
|
- lib
|
@@ -54,8 +69,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
69
|
- !ruby/object:Gem::Version
|
55
70
|
version: '0'
|
56
71
|
requirements: []
|
57
|
-
rubygems_version: 3.
|
58
|
-
signing_key:
|
72
|
+
rubygems_version: 3.2.22
|
73
|
+
signing_key:
|
59
74
|
specification_version: 4
|
60
75
|
summary: Logger that added contextual information to the log messages
|
61
76
|
test_files: []
|