trifle-logger 0.0.1 → 0.1.3

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: 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: []