mr_loga_loga 0.1.0 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +2 -0
  3. data/.github/workflows/main.yml +0 -1
  4. data/.github/workflows/release.yml +79 -0
  5. data/.gitignore +1 -0
  6. data/.tool-versions +1 -0
  7. data/.yardopts +1 -0
  8. data/CHANGELOG.md +31 -0
  9. data/Gemfile.lock +7 -5
  10. data/README.md +12 -8
  11. data/docs/MrLogaLoga/Configuration.html +376 -0
  12. data/docs/MrLogaLoga/Context.html +628 -0
  13. data/docs/MrLogaLoga/Error.html +124 -0
  14. data/docs/MrLogaLoga/Extensions/LogrageExtension.html +305 -0
  15. data/docs/MrLogaLoga/Extensions/RailsExtension/LoggerPatch.html +322 -0
  16. data/docs/MrLogaLoga/Extensions/RailsExtension/ServerPatch.html +201 -0
  17. data/docs/MrLogaLoga/Extensions/RailsExtension.html +242 -0
  18. data/docs/MrLogaLoga/Extensions.html +117 -0
  19. data/docs/MrLogaLoga/Formatters/Json.html +350 -0
  20. data/docs/MrLogaLoga/Formatters/KeyValue.html +338 -0
  21. data/docs/MrLogaLoga/Formatters.html +117 -0
  22. data/docs/MrLogaLoga/InstanceMethods.html +350 -0
  23. data/docs/MrLogaLoga/Logger.html +618 -0
  24. data/docs/MrLogaLoga/LoggerProxy.html +319 -0
  25. data/docs/MrLogaLoga.html +374 -0
  26. data/docs/_config.yml +1 -0
  27. data/docs/_index.html +280 -0
  28. data/docs/class_list.html +51 -0
  29. data/docs/css/common.css +1 -0
  30. data/docs/css/full_list.css +58 -0
  31. data/docs/css/style.css +497 -0
  32. data/docs/file.README.html +255 -0
  33. data/docs/file_list.html +56 -0
  34. data/docs/frames.html +17 -0
  35. data/docs/index.html +255 -0
  36. data/docs/js/app.js +314 -0
  37. data/docs/js/full_list.js +216 -0
  38. data/docs/js/jquery.js +4 -0
  39. data/docs/method_list.html +283 -0
  40. data/docs/top-level-namespace.html +110 -0
  41. data/lib/mr_loga_loga/context.rb +10 -0
  42. data/lib/mr_loga_loga/extensions/{lograge_patch.rb → lograge.rb} +19 -8
  43. data/lib/mr_loga_loga/extensions/rails.rb +142 -0
  44. data/lib/mr_loga_loga/formatters/json.rb +4 -4
  45. data/lib/mr_loga_loga/formatters/key_value.rb +2 -1
  46. data/lib/mr_loga_loga/instance_methods.rb +9 -3
  47. data/lib/mr_loga_loga/logger.rb +23 -14
  48. data/lib/mr_loga_loga/logger_proxy.rb +9 -8
  49. data/lib/mr_loga_loga/version.rb +1 -1
  50. data/lib/mr_loga_loga.rb +3 -4
  51. data/mr_loga_loga.gemspec +4 -4
  52. metadata +57 -22
@@ -19,22 +19,35 @@ module MrLogaLoga
19
19
  #
20
20
  # logger.debug("Default")
21
21
  # logger.context(user: 1).debug('with context')
22
+ #
22
23
  class Logger < ::Logger
24
+ def initialize(*args, **kwargs)
25
+ super
26
+ @default_formatter = MrLogaLoga::Formatters::KeyValue.new
27
+ end
28
+
29
+ # Generates a new context
23
30
  def context(**kwargs, &block)
24
31
  context = block ? -> { kwargs.merge(block.call) } : kwargs
25
32
  Context.new(self, context)
26
33
  end
27
34
 
28
- def message(message, &block)
29
- message ||= block
30
- Message.new(self, message)
31
- end
32
-
33
- def add(severity, message = nil, progname = nil, **context, &block)
35
+ # Adds a new log message with the given severity
36
+ def add(severity, message = nil, progname = nil, *_args, **context, &block)
34
37
  severity ||= UNKNOWN
35
38
  return true unless log?(severity)
36
39
 
37
- message = block.call if block
40
+ progname = @progname if progname.nil?
41
+
42
+ if message.nil?
43
+ if block
44
+ message = block.call
45
+ else
46
+ message = progname
47
+ progname = @progname
48
+ end
49
+ end
50
+
38
51
  @logdev.write(format(format_severity(severity), Time.now, progname, message, context))
39
52
  true
40
53
  end
@@ -42,10 +55,10 @@ module MrLogaLoga
42
55
  alias log add
43
56
 
44
57
  %i[debug info warn error fatal unknown].each do |symbol|
45
- define_method(symbol) do |message = nil, **context, &block|
58
+ define_method(symbol) do |progname = nil, **context, &block|
46
59
  # Map the symbol (e.g. :debug) to the severity constant (e.g. DEBUG)
47
60
  severity = Object.const_get("Logger::Severity::#{symbol.to_s.upcase}")
48
- add(severity, message, **context, &block)
61
+ add(severity, nil, progname, **context, &block)
49
62
  end
50
63
  end
51
64
 
@@ -73,11 +86,7 @@ module MrLogaLoga
73
86
  end
74
87
 
75
88
  def format(severity, datetime, progname, message, context)
76
- formatter.call(severity, datetime, progname, message, context)
77
- end
78
-
79
- def formatter
80
- @formatter ||= MrLogaLoga::Formatters::KeyValue.new
89
+ (@formatter || @default_formatter).call(severity, datetime, progname, message, **context)
81
90
  end
82
91
  end
83
92
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'logger'
4
+ require 'forwardable'
4
5
 
5
6
  module MrLogaLoga
6
7
  # == Description
@@ -9,30 +10,30 @@ module MrLogaLoga
9
10
  #
10
11
  # @api private
11
12
  class LoggerProxy
13
+ extend Forwardable
14
+
12
15
  def initialize(logger, context_proc)
13
16
  @logger = logger
14
17
  @context_proc = context_proc
15
18
  end
16
19
 
17
- def add(severity, message = nil, **context, &block)
20
+ def add(severity, message = nil, progname = nil, **context, &block)
18
21
  severity ||= UNKNOWN
19
22
  return true unless @logger.log?(severity)
20
23
 
21
24
  context = @context_proc.call.merge(context)
22
25
 
23
- @logger.add(severity, message, **context, &block)
26
+ @logger.add(severity, message, progname, **context, &block)
24
27
  end
25
28
 
26
29
  alias log add
27
30
 
28
31
  %i[debug info warn error fatal unknown].each do |symbol|
29
- define_method(symbol) do |message = nil, **context, &block|
30
- severity = Object.const_get("Logger::Severity::#{symbol.to_s.upcase}")
31
- return true unless @logger.log?(severity)
32
+ def_delegator :@logger, "#{symbol}?".to_sym, "#{symbol}?".to_sym
32
33
 
33
- context = @context_proc.call.merge(context)
34
-
35
- @logger.public_send(symbol, message, **context, &block)
34
+ define_method(symbol) do |progname = nil, **context, &block|
35
+ severity = Object.const_get("Logger::Severity::#{symbol.to_s.upcase}")
36
+ add(severity, nil, progname, **context, &block)
36
37
  end
37
38
  end
38
39
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MrLogaLoga
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.4'
5
5
  end
data/lib/mr_loga_loga.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'byebug'
4
-
5
3
  require_relative 'mr_loga_loga/version'
6
4
  require_relative 'mr_loga_loga/configuration'
7
5
  require_relative 'mr_loga_loga/logger_proxy'
@@ -11,9 +9,10 @@ require_relative 'mr_loga_loga/logger'
11
9
  require_relative 'mr_loga_loga/formatters/key_value'
12
10
  require_relative 'mr_loga_loga/formatters/json'
13
11
 
14
- require_relative 'mr_loga_loga/extensions/lograge_patch'
12
+ require_relative 'mr_loga_loga/extensions/rails'
13
+ require_relative 'mr_loga_loga/extensions/lograge'
15
14
 
16
- # == Description
15
+ # ## Description
17
16
  #
18
17
  # The MrLogaLoga module provides additional logging functionality when included in your classes.
19
18
  #
data/mr_loga_loga.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.metadata['homepage_uri'] = spec.homepage
18
18
  spec.metadata['source_code_uri'] = spec.homepage
19
- spec.metadata['changelog_uri'] = "#{spec.homepage}/CHANGELOG.md"
19
+ spec.metadata['changelog_uri'] = "#{spec.homepage}/blob/main/CHANGELOG.md"
20
20
  spec.metadata['rubygems_mfa_required'] = 'true'
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
@@ -33,8 +33,8 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  # For more information and examples about making a new gem, checkout our
35
35
  # guide at: https://bundler.io/guides/creating_gem.html
36
- spec.add_development_dependency 'byebug'
37
36
  spec.add_development_dependency 'rubocop', '~> 1.24'
38
- spec.add_development_dependency 'simplecov', '~> 0.21.2'
39
- spec.add_development_dependency 'timecop', '~> 0.9.4'
37
+ spec.add_development_dependency 'simplecov', '~> 0.21'
38
+ spec.add_development_dependency 'timecop', '~> 0.9'
39
+ spec.add_development_dependency 'yard', '~> 0.9'
40
40
  end
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mr_loga_loga
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - hschne
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-02 00:00:00.000000000 Z
11
+ date: 2022-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: byebug
14
+ name: rubocop
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.24'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.24'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rubocop
28
+ name: simplecov
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.24'
33
+ version: '0.21'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.24'
40
+ version: '0.21'
41
41
  - !ruby/object:Gem::Dependency
42
- name: simplecov
42
+ name: timecop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.21.2
47
+ version: '0.9'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.21.2
54
+ version: '0.9'
55
55
  - !ruby/object:Gem::Dependency
56
- name: timecop
56
+ name: yard
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.9.4
61
+ version: '0.9'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.9.4
68
+ version: '0.9'
69
69
  description: A bombastic, fantastic logger for Ruby
70
70
  email:
71
71
  - hans.schnedlitz@gmail.com
@@ -73,15 +73,19 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - ".codeclimate.yml"
76
77
  - ".github/ISSUE_TEMPLATE/BUG_REPORT.md"
77
78
  - ".github/ISSUE_TEMPLATE/FEATURE_REQUEST.md"
78
79
  - ".github/ISSUE_TEMPLATE/config.yml"
79
80
  - ".github/dependabot.yml"
80
81
  - ".github/stale.yml"
81
82
  - ".github/workflows/main.yml"
83
+ - ".github/workflows/release.yml"
82
84
  - ".gitignore"
83
85
  - ".rspec"
84
86
  - ".rubocop.yml"
87
+ - ".tool-versions"
88
+ - ".yardopts"
85
89
  - CHANGELOG.md
86
90
  - CODE_OF_CONDUCT.md
87
91
  - Gemfile
@@ -91,10 +95,41 @@ files:
91
95
  - Rakefile
92
96
  - bin/console
93
97
  - bin/setup
98
+ - docs/MrLogaLoga.html
99
+ - docs/MrLogaLoga/Configuration.html
100
+ - docs/MrLogaLoga/Context.html
101
+ - docs/MrLogaLoga/Error.html
102
+ - docs/MrLogaLoga/Extensions.html
103
+ - docs/MrLogaLoga/Extensions/LogrageExtension.html
104
+ - docs/MrLogaLoga/Extensions/RailsExtension.html
105
+ - docs/MrLogaLoga/Extensions/RailsExtension/LoggerPatch.html
106
+ - docs/MrLogaLoga/Extensions/RailsExtension/ServerPatch.html
107
+ - docs/MrLogaLoga/Formatters.html
108
+ - docs/MrLogaLoga/Formatters/Json.html
109
+ - docs/MrLogaLoga/Formatters/KeyValue.html
110
+ - docs/MrLogaLoga/InstanceMethods.html
111
+ - docs/MrLogaLoga/Logger.html
112
+ - docs/MrLogaLoga/LoggerProxy.html
113
+ - docs/_config.yml
114
+ - docs/_index.html
115
+ - docs/class_list.html
116
+ - docs/css/common.css
117
+ - docs/css/full_list.css
118
+ - docs/css/style.css
119
+ - docs/file.README.html
120
+ - docs/file_list.html
121
+ - docs/frames.html
122
+ - docs/index.html
123
+ - docs/js/app.js
124
+ - docs/js/full_list.js
125
+ - docs/js/jquery.js
126
+ - docs/method_list.html
127
+ - docs/top-level-namespace.html
94
128
  - lib/mr_loga_loga.rb
95
129
  - lib/mr_loga_loga/configuration.rb
96
130
  - lib/mr_loga_loga/context.rb
97
- - lib/mr_loga_loga/extensions/lograge_patch.rb
131
+ - lib/mr_loga_loga/extensions/lograge.rb
132
+ - lib/mr_loga_loga/extensions/rails.rb
98
133
  - lib/mr_loga_loga/formatters/json.rb
99
134
  - lib/mr_loga_loga/formatters/key_value.rb
100
135
  - lib/mr_loga_loga/instance_methods.rb
@@ -109,9 +144,9 @@ licenses:
109
144
  metadata:
110
145
  homepage_uri: https://github.com/hschne/mr-loga-loga
111
146
  source_code_uri: https://github.com/hschne/mr-loga-loga
112
- changelog_uri: https://github.com/hschne/mr-loga-loga/CHANGELOG.md
147
+ changelog_uri: https://github.com/hschne/mr-loga-loga/blob/main/CHANGELOG.md
113
148
  rubygems_mfa_required: 'true'
114
- post_install_message:
149
+ post_install_message:
115
150
  rdoc_options: []
116
151
  require_paths:
117
152
  - lib
@@ -126,8 +161,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
161
  - !ruby/object:Gem::Version
127
162
  version: '0'
128
163
  requirements: []
129
- rubygems_version: 3.2.22
130
- signing_key:
164
+ rubygems_version: 3.2.3
165
+ signing_key:
131
166
  specification_version: 4
132
167
  summary: A bombastic, fantastic logger for Ruby
133
168
  test_files: []