inst-wide-logger 1.2.0 → 1.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48eed6b5cb7f9b36589aaf6aac78b8ab88a7dcb6e44cfd618012838816312cb5
4
- data.tar.gz: faa3e37c7f0537513f174f7f1c8bcd374de6827a7bcff86bb23cd4f1a40f3cd3
3
+ metadata.gz: 3b9f2740d229c6b5e3a628f349d8674654046c56c646ee505474699f14b9f8fd
4
+ data.tar.gz: b1ddd213ae2cf6b2b05da1a7855435a96294ca6879c8e2d10fc175a3edfd1a4d
5
5
  SHA512:
6
- metadata.gz: 2950404c977ce06feb0360d6c878b60345c169b458beebb087815df10d2599c945ac6751dca23f349cdf716aa98144945e2116efe17db12fc12364abd667873a
7
- data.tar.gz: f8708a57eaa0d58bf04049382139a9a49e6a4ce59ae446b18cbb7c6e6fbed331a2d697baf5051e6e9ace4a3a4328d623bde9599013458e9684b47ccd046f28a4
6
+ metadata.gz: 0f39db58281e6f7b4ba6379fad20b0f75150a3d8f53f20adefff61256a91842a792ba6823290ec1dc833f7a4cf60e70d813a97ae9bfe1fcbfcf1c05b53d9dd1f
7
+ data.tar.gz: fbdd690779e28f2bb8bf89182739d4114130689e04905078d089394e8641ddf01d88a71407759da107374d31d5ab1919f833a7db17d371ebdd6fa4045da5907e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.0] - 2026-04-20
4
+
5
+ ### Added
6
+
7
+ - `WideLogger::DevFormatter` with an `include_json:` constructor option (default `true`) to control whether the JSON context is appended to each log entry
8
+
9
+ ### Deprecated
10
+
11
+ - `WideLogger::DevJsonFormatter` — use `WideLogger::DevFormatter` instead. The alias will be removed in 2.0.
12
+
3
13
  ## [1.2.0] - 2026-04-16
4
14
 
5
15
  ### Added
data/README.md CHANGED
@@ -33,12 +33,20 @@ WideLogger.wrap(type: :web_request, metadata: { additional_context: @context })
33
33
  end
34
34
  ```
35
35
 
36
- Optionally, you can use WideLogger:DevJsonFormatter to have log entries in the following format:
36
+ Optionally, you can use `WideLogger::DevFormatter` to have log entries in the following format:
37
37
 
38
38
  ```text
39
39
  <timestamp> <message> <context in JSON format>
40
40
  ```
41
41
 
42
+ The formatter accepts an `include_json:` keyword (default `true`). Set it to `false` to suppress the JSON context and emit only `<timestamp> <message>`:
43
+
44
+ ```ruby
45
+ config.logging.formatter = WideLogger::DevFormatter.new(include_json: false)
46
+ ```
47
+
48
+ > `WideLogger::DevJsonFormatter` is kept as a deprecated alias of `DevFormatter` for backwards compatibility and will be removed in 2.0.
49
+
42
50
  ## Development
43
51
 
44
52
  After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests.
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/deprecation'
4
+
5
+ module WideLogger
6
+ class DevFormatter < PaulBunyan::JSONFormatter
7
+ def initialize(include_json: true)
8
+ super()
9
+ @include_json = include_json
10
+ end
11
+
12
+ def call(severity, time, progname, msg)
13
+ prefix = time.utc.strftime(DATETIME_FORMAT) + ' ' + msg.to_s
14
+ return prefix + "\n" unless @include_json
15
+
16
+ prefix + ' ' + super
17
+ end
18
+
19
+ private
20
+
21
+ def merge_metadata_and_message(metadata, message)
22
+ super.except('message', 'ts').sort_by { |key, _| key.to_s }.to_h
23
+ end
24
+ end
25
+
26
+ DEPRECATOR = ActiveSupport::Deprecation.new('2.0', 'WideLogger')
27
+
28
+ class DevJsonFormatter < DevFormatter
29
+ def initialize(*args, **kwargs)
30
+ DEPRECATOR.warn(
31
+ 'WideLogger::DevJsonFormatter is deprecated and will be removed in 2.0. ' \
32
+ 'Use WideLogger::DevFormatter instead.'
33
+ )
34
+ super
35
+ end
36
+ end
37
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WideLogger
4
- VERSION = "1.2.0"
4
+ VERSION = "1.3.0"
5
5
  end
data/lib/wide_logger.rb CHANGED
@@ -4,5 +4,5 @@ require 'paul_bunyan'
4
4
  require_relative 'wide_logger/version'
5
5
  require_relative 'wide_logger/wide_logger'
6
6
  require_relative 'wide_logger/downgrading_to_debug_logger'
7
- require_relative 'wide_logger/dev_json_formatter'
7
+ require_relative 'wide_logger/dev_formatter'
8
8
  require_relative 'wide_logger/railtie' if defined?(Rails::Railtie)
data/wide_logger.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ['lib']
28
28
 
29
+ spec.add_dependency 'activesupport', '>= 6.0'
29
30
  spec.add_dependency 'paul_bunyan', '~> 2.1'
30
31
  spec.add_dependency 'railties', '>= 6.0'
31
32
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inst-wide-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zoltan Hegedus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-16 00:00:00.000000000 Z
11
+ date: 2026-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '6.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '6.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: paul_bunyan
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +67,7 @@ files:
53
67
  - Rakefile
54
68
  - lib/inst-wide-logger.rb
55
69
  - lib/wide_logger.rb
56
- - lib/wide_logger/dev_json_formatter.rb
70
+ - lib/wide_logger/dev_formatter.rb
57
71
  - lib/wide_logger/downgrading_to_debug_logger.rb
58
72
  - lib/wide_logger/railtie.rb
59
73
  - lib/wide_logger/version.rb
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module WideLogger
4
- class DevJsonFormatter < PaulBunyan::JSONFormatter
5
- def call(severity, time, progname, msg)
6
- time.utc.strftime(DATETIME_FORMAT) + ' ' + msg.to_s + ' ' + super
7
- end
8
-
9
- private
10
-
11
- def merge_metadata_and_message(metadata, message)
12
- super.except('message', 'ts').sort_by { |key, _| key.to_s }.to_h
13
- end
14
- end
15
- end