trifle-logger 0.0.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f398296489f07bf076bf0bf6775e57156c0cc6b17afd4eb27df7f5d37fc1b89d
4
- data.tar.gz: b2a9f30e51212af4e1d659d754e034f9d1adee1c13a8e7f716dea0c906aa3e1d
3
+ metadata.gz: e01d80c42124d01841fc6319f7ba1e7bb13729291cc9baf2aba7c32d642095f6
4
+ data.tar.gz: cf44c0949bf5033174a14b4bb4b7e2f0637af77141a840d919b5598c4292c632
5
5
  SHA512:
6
- metadata.gz: bc98595231311b0a4ef4eaddbbe7ff7440460415b9d9d56e528b39a8b677c1719dc801483f9bfac7add6a945fe1dbca81bed68ddb456233f22c031e7b9771604
7
- data.tar.gz: 2f283dd02cb0cd62f403a7e9ae2f1349f644cb714014da9bcdc20084fe249775dd993c85a0535a771afcb011d6f62017c9ed57502bdc2aba9f58f1f68a8e9c56
6
+ metadata.gz: f6158bebc28ae7f235a8fcfba2b89b05d37e746fb4f23b89a251564e36e4b400bbf1209d2cd3457646ffff1d12cce53a579f1c43d50264c60b3fab0bf335efd4
7
+ data.tar.gz: 91a2ac72d053ab794bfb6af8b42996a6e56245d48b952afd86795cb85301a3f424041e640c54c3dadecbd379f2d73f40d9c7d42d4c0e30cd07db401e4d86133f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trifle-logger (0.0.1)
4
+ trifle-logger (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -31,8 +31,25 @@ Or install it yourself as:
31
31
 
32
32
  ## Usage
33
33
 
34
- TODO: Write usage instructions here
34
+ It saves you from reading through your standard logger
35
+
36
+ ```ruby
37
+ Trifle::Logger.trace('This is important output')
38
+ now = Trifle::Logger.trace('And it\'s important to know it happened at') do
39
+ Time.now
40
+ end
41
+ ```
42
+
43
+ To being able to say what happened on 25th January 2021.
44
+
45
+ ```ruby
46
+ [
47
+ {at: 2021-01-25 00:00:00 +0100, message: 'This is important output', state: :success, head: false, meta: false}
48
+ {at: 2021-01-25 00:00:00 +0100, message: 'And it\'s important to know it happened ', state: :success, head: false, meta: false}
49
+ {at: 2021-01-25 00:00:00 +0100, message: '=> 2021-01-25 00:00:00 +0100', state: :success, head: false, meta: true}
50
+ ]
51
+ ```
35
52
 
36
53
  ## Contributing
37
54
 
38
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/trifle-logger.
55
+ Bug reports and pull requests are welcome on GitHub at https://github.com/trifle-io/trifle-logger.
data/lib/trifle/logger.rb CHANGED
@@ -32,7 +32,9 @@ module Trifle
32
32
  end
33
33
 
34
34
  def self.trace(*args, **keywords, &block)
35
- return unless tracer
35
+ if tracer.nil?
36
+ return block_given? ? yield : nil
37
+ end
36
38
 
37
39
  tracer.trace(*args, **keywords, &block)
38
40
  end
@@ -43,10 +45,22 @@ module Trifle
43
45
  tracer.tag(tag)
44
46
  end
45
47
 
48
+ def self.artifact(name, path)
49
+ return unless tracer
50
+
51
+ tracer.artifact(name, path)
52
+ end
53
+
46
54
  def self.fail!
47
55
  return unless tracer
48
56
 
49
57
  tracer.fail!
50
58
  end
59
+
60
+ def self.ignore!
61
+ return unless tracer
62
+
63
+ tracer.ignore!
64
+ end
51
65
  end
52
66
  end
@@ -4,14 +4,16 @@ module Trifle
4
4
  module Logger
5
5
  module Tracer
6
6
  class Hash
7
- attr_accessor :key, :meta, :data, :tags, :state
7
+ attr_accessor :key, :meta, :data, :tags, :artifacts, :state, :ignore
8
8
 
9
9
  def initialize(key:, meta: nil)
10
10
  @key = key
11
11
  @meta = meta
12
12
  @data = []
13
13
  @tags = []
14
+ @artifacts = []
14
15
  @state = :success
16
+ @ignore = false
15
17
  @result_prefix = '=> '
16
18
 
17
19
  trace("Trifle::Trace has been initialized for #{key}")
@@ -38,14 +40,14 @@ module Trifle
38
40
  def dump_message(message, head:, state:)
39
41
  @data << {
40
42
  at: now, message: message,
41
- state: state, head: head, meta: false
43
+ state: state, head: head, meta: false, media: false
42
44
  }
43
45
  end
44
46
 
45
47
  def dump_result(result)
46
48
  @data << {
47
49
  at: now, message: "#{@result_prefix}#{result.inspect}",
48
- state: :success, head: false, meta: true
50
+ state: :success, head: false, meta: true, media: false
49
51
  }
50
52
  end
51
53
 
@@ -57,6 +59,14 @@ module Trifle
57
59
  @tags << tag
58
60
  end
59
61
 
62
+ def artifact(name, path)
63
+ @data << {
64
+ at: now, message: name,
65
+ state: :success, head: false, meta: false, media: true
66
+ }
67
+ @artifacts << path
68
+ end
69
+
60
70
  def fail!
61
71
  @state = :error
62
72
  end
@@ -65,8 +75,12 @@ module Trifle
65
75
  @state == :success
66
76
  end
67
77
 
78
+ def ignore!
79
+ @ignore = true
80
+ end
81
+
68
82
  def wrapup
69
- Trifle::Logger.default.on_wrapup(self)
83
+ Trifle::Logger.default.on_wrapup(self) unless @ignore
70
84
  end
71
85
  end
72
86
  end
@@ -8,10 +8,14 @@ module Trifle
8
8
  yield if block_given?
9
9
  end
10
10
 
11
- def tag(_resource); end
11
+ def tag(_tag); end
12
+
13
+ def artifact(_name, _path); end
12
14
 
13
15
  def fail!; end
14
16
 
17
+ def ignore!; end
18
+
15
19
  def wrapup; end
16
20
  end
17
21
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Trifle
4
4
  module Logger
5
- VERSION = '0.0.1'
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
@@ -6,11 +6,10 @@ Gem::Specification.new do |spec|
6
6
  spec.authors = ["Jozef Vaclavik"]
7
7
  spec.email = ["jozef@hey.com"]
8
8
 
9
- spec.summary = 'Simple logger backed by Redis, Postgres, MongoDB, '\
10
- 'or whatever'
9
+ spec.summary = 'Simple logger backed by Hash'
11
10
  spec.description = 'Trifle::Logger is a way too simple timeline logger '\
12
11
  'that helps you track custom outputs.'
13
- spec.homepage = "https://trifle.io"
12
+ spec.homepage = 'https://trifle.io'
14
13
  spec.required_ruby_version = Gem::Requirement.new(">= 2.6")
15
14
 
16
15
  spec.metadata["homepage_uri"] = spec.homepage
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trifle-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jozef Vaclavik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-08 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -135,5 +135,5 @@ requirements: []
135
135
  rubygems_version: 3.2.3
136
136
  signing_key:
137
137
  specification_version: 4
138
- summary: Simple logger backed by Redis, Postgres, MongoDB, or whatever
138
+ summary: Simple logger backed by Hash
139
139
  test_files: []