lumberjack 2.0.1 → 2.0.2

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: fbc13dfc1c5804200cd38b71b4f93b86df15ca816c6bae6832db5c6e8fd28142
4
- data.tar.gz: 33571306b3c30fb2ae93e4133991245bb364df1318d533e3e780b275754deb5a
3
+ metadata.gz: 1b76516c0e871b68e2834d0517dd219eefd0985fd55894c48e8e8c4fa9e71be8
4
+ data.tar.gz: 2516f75995e1ca98a7d0daabf5ea71b1a3a2e4593966a955bac9bc66dea5827e
5
5
  SHA512:
6
- metadata.gz: 56bbafed82d2d57403c2c6d3d4a83c29d07bdb970d63ccde99da15571e516d90a4a25e19a24f19c10c1e288f6e109c2fa350d0bd20aee365f2c8ee5df57d6dde
7
- data.tar.gz: 4b4aae43617977fd0aeba56f4889278fb824483c9545b3c968ec18f1d30c602810138329015b1af63e78650df77e81c4a0d7467f023ceb555c231984c4f82716
6
+ metadata.gz: a6df7a99b4b8bba7a694cdcb45053185b7f2d40bb18af18af354e0188eba00b2f04156536e0844c0ddc74e38e3661821e60b357d4eef8928a3de6bd2bf0af1da
7
+ data.tar.gz: ad698517a3a54969c582d6cb839c218894a89b301c137bf2bdc08889777d50343ca4ccaf26d4a40ae96bfd3601790481267729e15eadc4d8f2cc7abbc687fd06
data/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## 2.0.2
8
+
9
+ ### Changed
10
+
11
+ - Attempts to use the logger inside a logging call (e.g. from a in a formatter) will now print the log message to STDERR. Previously such log messages would be silently dropped in order to prevent infinite recursion.
12
+
7
13
  ## 2.0.1
8
14
 
9
15
  ### Fixed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.1
1
+ 2.0.2
@@ -396,7 +396,12 @@ module Lumberjack
396
396
  # @api private
397
397
  def add_entry(severity, message, progname = nil, attributes = nil)
398
398
  return false unless device
399
- return false if fiber_local&.logging
399
+
400
+ # Prevent infinite recursion if logging is attempted from within a logging call.
401
+ if fiber_local&.logging
402
+ log_to_stderr(severity, message)
403
+ return false
404
+ end
400
405
 
401
406
  severity = Severity.label_to_level(severity) unless severity.is_a?(Integer)
402
407
 
@@ -503,5 +508,11 @@ module Lumberjack
503
508
 
504
509
  positional_arg_count == 4 && !has_forbidden_args
505
510
  end
511
+
512
+ def log_to_stderr(severity, message)
513
+ severity = Severity.coerce(severity)
514
+ severity_label = Severity.level_to_label(severity)
515
+ $stderr.write("Recursive logging detected; you cannot write new log entries while logging other entries: #{severity_label} #{message}\n")
516
+ end
506
517
  end
507
518
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lumberjack
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Durand