tlogger 0.21.1 → 0.26.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|