debug_logging 4.0.2 → 4.0.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.
data/README.md CHANGED
@@ -1,124 +1,117 @@
1
- # DebugLogging
1
+ [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-floss-i]][🖼️galtzo-floss] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang]
2
2
 
3
- <div id="badges">
3
+ [🖼️galtzo-floss-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
4
+ [🖼️galtzo-floss]: https://discord.gg/3qme4XHNKN
5
+ [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
6
+ [🖼️ruby-lang]: https://www.ruby-lang.org/
4
7
 
5
- [![CI Build][🚎dl-cwfi]][🚎dl-cwf]
6
- [![Test Coverage][🔑cc-covi]][🔑cc-cov]
7
- [![Maintainability][🔑cc-mnti]][🔑cc-mnt]
8
- [![Depfu][🔑depfui]][🔑depfu]
8
+ # 🪲 DebugLogging
9
9
 
10
- -----
10
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
11
11
 
12
- [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
13
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
14
- <span class="badge-buymeacoffee">
15
- <a href="https://ko-fi.com/O5O86SNP4" target='_blank' title="Donate to my FLOSS or refugee efforts at ko-fi.com"><img src="https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg" alt="Buy me coffee donation button" /></a>
16
- </span>
17
- <span class="badge-patreon">
18
- <a href="https://patreon.com/galtzo" title="Donate to my FLOSS or refugee efforts using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /></a>
19
- </span>
12
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-floss], as I may have missed the [discord notification][🖼️galtzo-floss].
20
13
 
21
- </div>
14
+ ---
22
15
 
23
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
24
- [⛳liberapay]: https://liberapay.com/pboling/donate
25
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
26
- [🖇sponsor]: https://github.com/sponsors/pboling
16
+ `if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
27
17
 
18
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
28
19
 
29
- Unobtrusive, inheritable-overridable-configurable, drop-in debug logging, instrumented via method decorators.
30
- Don't leave a mess behind when it is time to remove logging!
31
- Supports `ActiveSupport::Notifications` (thanks [@jgillson](https://github.com/jgillson)). Optional ActiveRecord callback-style hooks that you can decorate your methods with. Hooks logic was taken from the [`slippy_method_hooks` gem](https://github.com/guckin/slippy_method_hooks), (thanks [@guckin](https://github.com/guckin)), and prefaced with `debug_` for this implementation. `DebugLogging::Finalize` is lightly modified from [this stackoverflow answer](https://stackoverflow.com/a/34559282).
20
+ <details>
21
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
32
22
 
33
- ## What do I mean by "unobtrusive"?
23
+ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
34
24
 
35
- **Ugly** debug logging is added inside the body of a method, so it runs when a method is called. This can create a mess of your git history, and can even introduce new bugs to your code. Don't `puts` all over your codebase... Instead use this gem.
25
+ </details>
36
26
 
37
- **Unobtrusive** debug logging stays out of the method, changes no logic, can't break your code, and yet it still runs when your method is called, and tells you everything you wanted to know. It doesn't mess with the git history of the method at all!
27
+ ## 🌻 Synopsis
38
28
 
39
- | Project | DebugLogging |
40
- |------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
41
- | install | `bundle add debug_logging` |
42
- | compatibility | Ruby >= 3.1 (use version 3.x for Ruby 2.4 - 2.7 compatibility) |
43
- | license | [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) |
44
- | download rank | [![Downloads Today](https://img.shields.io/gem/rd/debug_logging.svg)](https://github.com/pboling/debug_logging) |
45
- | version | [![Version](https://img.shields.io/gem/v/debug_logging.svg)](https://rubygems.org/gems/debug_logging) |
46
- | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/debug_logging/badges/users.svg)](https://www.codetriage.com/pboling/debug_logging) |
47
- | documentation | [on RDoc.info][documentation] |
48
- | live chat | [![Join the chat at https://gitter.im/pboling/debug_logging](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pboling/debug_logging?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
49
- | expert support | [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github) |
50
- | Spread ~♡ⓛⓞⓥⓔ♡~ | [🌏](https://about.me/peter.boling), [👼](https://angel.co/peter-boling), [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Follow Me on LinkedIn][🖇linkedin-img]][🖇linkedin] [![Find Me on WellFound:][✌️wellfound-img]][✌️wellfound] [![My Blog][🚎blog-img]][🚎blog] [![Follow Me on Twitter][🐦twitter-img]][🐦twitter] |
29
+ ## 💡 Info you can shake a stick at
51
30
 
52
- [🚎dl-cwf]: https://github.com/pboling/debug_logging/actions/workflows/current.yml
53
- [🚎dl-cwfi]: https://github.com/pboling/debug_logging/actions/workflows/current.yml/badge.svg
31
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
32
+ |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
33
+ | Works with JRuby | [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
34
+ | Works with Truffle Ruby | [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
35
+ | Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
36
+ | Works with MRI Ruby 3 | [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
37
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
38
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
39
+ | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
40
+ | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
41
+ | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
42
+ | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
43
+ | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
54
44
 
55
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
56
- [⛳liberapay]: https://liberapay.com/pboling/donate
57
- [🖇linkedin]: http://www.linkedin.com/in/peterboling
58
- [🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-blue?style=plastic&logo=linkedin
59
- [✌️wellfound]: https://angel.co/u/peter-boling
60
- [✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=plastic&logo=angellist
61
- [🐦twitter]: http://twitter.com/intent/user?screen_name=galtzo
62
- [🐦twitter-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow%20@galtzo
63
- [🚎blog]: http://www.railsbling.com/tags/debug_logging/
64
- [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
65
- [my🧪lab]: https://gitlab.com/pboling
66
- [my🧊berg]: https://codeberg.org/pboling
67
- [my🛖hut]: https://sr.ht/~galtzo/
68
-
69
- ### Gives you (all are optional):
70
-
71
- * *benchmarking*
72
- * *colorization by class/method*
73
- * *robust argument printer with customizable ellipsis*
74
- * *unique invocation identifiers*
75
- * *simple single line global config, or per class/instance/method config*
76
- * *separate loggers, if needed*
77
- * *log method calls, also when exit scope*
78
- * *Prevents heavy computation of strings with `logger.debug { 'log me' }` block format, since v1.0.12*
79
- * *ActiveSupport::Notifications integration for instrumenting/logging events on class and instance methods, since v3.1.3*
80
- * *Optional instance, and class-instance, variable logging, since v3.1.3*
81
- * *ActiveRecord style callback-hooks (optional: `require 'debug_logging/hooks'` and `include DebugLogging::Hooks`), since v3.1.3*
82
- * *All configuration is inheritable to, and overridable by, child classes, since v3.1.3*
83
- * *[Class finalization hook](https://stackoverflow.com/a/34559282) (optional: `require 'debug_logging/finalize'` and `extend DebugLogging::Finalize`), since v3.1.3*
84
- * *Error handling hooks you can use to log problems when they happen, since v3.1.7*
85
- * *Fixed: Works with benchmarking options since v4.0.2*
86
- * **so many free ponies** 🎠🐴🎠🐴🎠🐴
87
-
88
- ## Next Level Magic
89
-
90
- Herein you will find:
91
-
92
- * ~~Classes inheriting from Module~~ Refactored to use standard Modules and `prepend`!
93
- * Zero tolerance policy on global monkey patching
94
- * When the gem is loaded there are no monkey patches.
95
- * Rather, your own classes/methods get "patched" and "hooked" as you configure them.
96
- * 100% clean, 0% obtrusive
97
- * Greater than 94% test coverage & 82% branch coverage
98
- * 100% Ruby 2.1+ compatible
99
- - use version `gem "debug_logging", "~> 1.0"` for Ruby < 2.3
100
- - use version `gem "debug_logging", "~> 2.0"` for Ruby 2.3
101
- - use version `gem "debug_logging", "~> 3.1"` for Ruby >= 2.4, < 3
102
- - apologies to Ruby 3.0, which is hiding under a blanket
103
- - use version `gem "debug_logging", "~> 4.0"` for Ruby >= 3.1
104
-
105
- ## Installation
106
-
107
- Add this line to your application's Gemfile:
45
+ ### Compatibility
108
46
 
109
- ```ruby
110
- gem "debug_logging", "~> 4.0"
111
- ```
47
+ Compatible with MRI Ruby 3.1+, and concordant releases of JRuby, and TruffleRuby.
48
+ CI workflows and Appraisals are generated for MRI Ruby 3.1+.
49
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
50
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
51
+ not practical for the current toolchain.
52
+
53
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
54
+ |------------------------------------------------|--------------------------------------------------------|
55
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
56
+
57
+
58
+
59
+ ### Federated DVCS
60
+
61
+ <details markdown="1">
62
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
63
+
64
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
65
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
66
+ | 🧪 [galtzo-floss/debug_logging on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
67
+ | 🧊 [galtzo-floss/debug_logging on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
68
+ | 🐙 [galtzo-floss/debug_logging on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
69
+ | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
70
+
71
+ </details>
72
+
73
+ [gh-discussions]: https://github.com/galtzo-floss/debug_logging/discussions
112
74
 
113
- And then execute:
75
+ ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/debug_logging)](https://tidelift.com/subscription/pkg/rubygems-debug_logging?utm_source=rubygems-debug_logging&utm_medium=referral&utm_campaign=readme)
114
76
 
115
- $ bundle
77
+ Available as part of the Tidelift Subscription.
116
78
 
117
- Or install it yourself as:
79
+ <details markdown="1">
80
+ <summary>Need enterprise-level guarantees?</summary>
81
+
82
+ The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
83
+
84
+ [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
85
+
86
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
87
+ - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
88
+ - 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
89
+
90
+ Alternatively:
91
+
92
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
93
+ - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
94
+ - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
95
+
96
+ </details>
97
+
98
+ ## ✨ Installation
99
+
100
+ Install the gem and add to the application's Gemfile by executing:
101
+
102
+ ```console
103
+ bundle add debug_logging
104
+ ```
105
+
106
+ If bundler is not being used to manage dependencies, install the gem by executing:
107
+
108
+ ```console
109
+ gem install debug_logging
110
+ ```
118
111
 
119
- $ gem install debug_logging
112
+ ## ⚙️ Configuration
120
113
 
121
- ## Usage
114
+ ## 🔧 Basic Usage
122
115
 
123
116
  Crack open the specs for more complex usage examples than the ones below.
124
117
 
@@ -242,20 +235,28 @@ class Car
242
235
  # == BEGIN CLASS METHODS ==
243
236
  # For class methods:
244
237
  # Option 1: Use *logged* as a method decorator
245
- logged def self.make
246
- new
247
- end
248
- def self.design(*_args)
249
- new
250
- end
251
-
252
- def self.safety(*_args)
253
- new
254
- end
255
-
256
- def self.dealer_options(*_args)
257
- new
238
+ class << self
239
+ def make
240
+ new
241
+ end
242
+
243
+ def design(*_args)
244
+ new
245
+ end
246
+
247
+ def safety(*_args)
248
+ new
249
+ end
250
+
251
+ def dealer_options(*_args)
252
+ new
253
+ end
254
+
255
+ def will_not_be_logged
256
+ false
257
+ end
258
258
  end
259
+ logged :make
259
260
 
260
261
  # Option 2: Use *logged* as a macro
261
262
  logged :design, :safety
@@ -267,9 +268,6 @@ class Car
267
268
  multiple_last_hashes: true, # <= Overrides config
268
269
  error_handler_proc: nil, # NOTE: if you define the error_handler_proc inside a class like this you can use self inside the proc to refer to the class the method was called on!
269
270
  }
270
- def self.will_not_be_logged
271
- false
272
- end
273
271
  # == END CLASS METHODS ==
274
272
 
275
273
  # == BEGIN INSTANCE METHODS ==
@@ -378,20 +376,28 @@ class Car
378
376
  # == BEGIN CLASS METHODS ==
379
377
  # For class methods:
380
378
  # Option 1: Use *notified* as a method decorator
381
- notified def self.make
382
- new
383
- end
384
- def self.design(*_args)
385
- new
386
- end
387
-
388
- def self.safety(*_args)
389
- new
390
- end
391
-
392
- def self.dealer_options(*_args)
393
- new
379
+ class << self
380
+ def make
381
+ new
382
+ end
383
+
384
+ def design(*_args)
385
+ new
386
+ end
387
+
388
+ def safety(*_args)
389
+ new
390
+ end
391
+
392
+ def dealer_options(*_args)
393
+ new
394
+ end
395
+
396
+ def will_not_be_notified
397
+ false
398
+ end
394
399
  end
400
+ notified :make
395
401
 
396
402
  # Option 2: Use *logged* as a macro
397
403
  notified :design, :safety
@@ -402,9 +408,6 @@ class Car
402
408
  something: "here", # <== will be added to the event payload, and be available to last_hash_to_s_proc
403
409
  add_invocation_id: false, # <== Overrides config
404
410
  }
405
- def self.will_not_be_notified
406
- false
407
- end
408
411
  # == END CLASS METHODS ==
409
412
 
410
413
  # == BEGIN INSTANCE METHODS ==
@@ -436,43 +439,124 @@ class Car
436
439
  end
437
440
  ```
438
441
 
439
- ## Development
442
+ ## 🦷 FLOSS Funding
440
443
 
441
- Run tests!
444
+ While galtzo-floss tools are free software and will always be, the project would benefit immensely from some funding.
445
+ Raising a monthly budget of... "dollars" would make the project more sustainable.
442
446
 
443
- ```shell
444
- bin/setup
445
- bin/rake
446
- ```
447
+ We welcome both individual and corporate sponsors! We also offer a
448
+ wide array of funding channels to account for your preferences.
449
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
447
450
 
448
- ## Contributing
451
+ **If you're working in a company that's making significant use of galtzo-floss tools we'd
452
+ appreciate it if you suggest to your company to become a galtzo-floss sponsor.**
449
453
 
450
- See [CONTRIBUTING.md][🪇conduct]
454
+ You can support the development of galtzo-floss tools via
455
+ [GitHub Sponsors][🖇sponsor],
456
+ [Liberapay][⛳liberapay],
457
+ [PayPal][🖇paypal],
458
+ [Open Collective][🖇osc]
459
+ and [Tidelift][🏙️entsup-tidelift].
451
460
 
452
- [🪇conduct]: CONTRIBUTING.md
461
+ | 📍 NOTE |
462
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
463
+ | If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
453
464
 
454
- ## 🪇 Code of Conduct
465
+ ### Open Collective for Individuals
455
466
 
456
- Everyone interacting in this project's codebases, issue trackers,
457
- chat rooms and mailing lists is expected to follow the [code of conduct][🪇conduct].
467
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/galtzo-floss#backer)]
458
468
 
459
- [🪇conduct]: CODE_OF_CONDUCT.md
469
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
460
470
 
461
- ## 📌 Versioning
471
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
472
+ No backers yet. Be the first!
473
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
462
474
 
463
- This Library adheres to [Semantic Versioning 2.0.0][📌semver].
464
- Violations of this scheme should be reported as bugs.
465
- Specifically, if a minor or patch version is released that breaks backward compatibility,
466
- a new version should be immediately released that restores compatibility.
467
- Breaking changes to the public API will only be introduced with new major versions.
475
+ ### Open Collective for Organizations
468
476
 
469
- To get a better understanding of how SemVer is intended to work over a project's lifetime,
470
- read this article from the creator of SemVer:
477
+ Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/galtzo-floss#sponsor)]
471
478
 
472
- - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
479
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
480
+
481
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
482
+ No sponsors yet. Be the first!
483
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
484
+
485
+ [kettle-readme-backers]: https://github.com/galtzo-floss/debug_logging/blob/main/exe/kettle-readme-backers
486
+
487
+ ### Another way to support open-source
488
+
489
+ I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
490
+
491
+ If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
492
+
493
+ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.
494
+
495
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
473
496
 
474
- As a result of this policy, you can (and should) specify a dependency on these libraries using
475
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
497
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
498
+
499
+ ## 🔐 Security
500
+
501
+ See [SECURITY.md][🔐security].
502
+
503
+ ## 🤝 Contributing
504
+
505
+ If you need some ideas of where to help, you could work on adding more code coverage,
506
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
507
+ or use the gem and think about how it could be better.
508
+
509
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
510
+
511
+ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
512
+
513
+ ### 🚀 Release Instructions
514
+
515
+ See [CONTRIBUTING.md][🤝contributing].
516
+
517
+ ### Code Coverage
518
+
519
+ <details markdown="1">
520
+ <summary>Coverage service badges</summary>
521
+
522
+ [![Coverage Graph][🏀codecov-g]][🏀codecov]
523
+
524
+ [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
525
+
526
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
527
+
528
+ </details>
529
+
530
+ ### 🪇 Code of Conduct
531
+
532
+ Everyone interacting with this project's codebases, issue trackers,
533
+ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
534
+
535
+ ## 🌈 Contributors
536
+
537
+ [![Contributors][🖐contributors-img]][🖐contributors]
538
+
539
+ Made with [contributors-img][🖐contrib-rocks].
540
+
541
+ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/debug_logging/-/graphs/main][🚎contributors-gl]
542
+
543
+ <details>
544
+ <summary>⭐️ Star History</summary>
545
+
546
+ <a href="https://star-history.com/galtzo-floss/debug_logging&Date">
547
+ <picture>
548
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/debug_logging&type=Date&theme=dark" />
549
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/debug_logging&type=Date" />
550
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=galtzo-floss/debug_logging&type=Date" />
551
+ </picture>
552
+ </a>
553
+
554
+ </details>
555
+
556
+ ## 📌 Versioning
557
+
558
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
559
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
476
560
 
477
561
  For example:
478
562
 
@@ -480,54 +564,259 @@ For example:
480
564
  spec.add_dependency("debug_logging", "~> 4.0")
481
565
  ```
482
566
 
483
- [comment]: <> ( VERSIONING LINKS )
567
+ <details markdown="1">
568
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
484
569
 
485
- [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
486
- [📌semver]: http://semver.org/
487
- [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
570
+ Dropping support for a platform can be a breaking change for affected users.
571
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
572
+
573
+ To get a better understanding of how SemVer is intended to work over a project's lifetime,
574
+ read this article from the creator of SemVer:
575
+
576
+ - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
577
+
578
+ </details>
579
+
580
+ See [CHANGELOG.md][📌changelog] for a list of releases.
488
581
 
489
582
  ## 📄 License
490
583
 
491
584
  The gem is available as open source under the terms of
492
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref], with one exception:
585
+ the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
493
586
 
494
- * [`lib/debug_logging/finalize.rb`](lib/debug_logging/finalize.rb) came from [this StackOverflow](https://stackoverflow.com/a/34559282).
495
- * As such, it is licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
587
+ ### © Copyright
496
588
 
497
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
589
+ See [LICENSE.md][📄license] for the official copyright notice.
498
590
 
499
- [comment]: <> ( LEGAL LINKS )
591
+ <details markdown="1">
592
+ <summary>Copyright holders</summary>
500
593
 
501
- [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
502
- [📄license]: LICENSE.txt
503
- [📄license-ref]: https://opensource.org/licenses/MIT
504
- [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
505
-
506
- [semver]: http://semver.org/
507
- [pvc]: http://docs.rubygems.org/read/chapter/16#page74
508
- [railsbling]: http://www.railsbling.com
509
- [peterboling]: http://www.peterboling.com
510
- [coderwall]: http://coderwall.com/pboling
511
- [angellist]: https://angel.co/peter-boling
512
- [documentation]: http://rdoc.info/github/pboling/debug_logging/frames
513
- [homepage]: https://github.com/pboling/debug_logging
514
- [blogpage]: http://www.railsbling.com/tags/debug_logging/
515
-
516
- [comment]: <> ( 💁🏼‍♂️ PERSONAL LINKS )
517
-
518
- [💁🏼‍♂️aboutme]: https://about.me/peter.boling
519
- [💁🏼‍♂️angellist]: https://angel.co/peter-boling
520
- [💁🏼‍♂️devto]: https://dev.to/galtzo
521
- [💁🏼‍♂️followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
522
- [💁🏼‍♂️twitter]: http://twitter.com/galtzo
523
- [💁🏼‍♂️peterboling]: http://www.peterboling.com
524
- [💁🏼‍♂️railsbling]: http://www.railsbling.com
594
+ - Copyright (c) 2017-2018, 2020-2021, 2023-2024, 2026 Peter H. Boling
595
+ - Copyright (c) 2020 John Gillson
596
+ - Copyright (c) 2024 Aboling0
597
+
598
+ </details>
599
+
600
+ ## 🤑 A request for help
525
601
 
526
- [comment]: <> ( KEYED LINKS )
602
+ Maintainers have teeth and need to pay their dentists.
603
+ After getting laid off in an RIF in March, and encountering difficulty finding a new one,
604
+ I began spending most of my time building open source tools.
605
+ I'm hoping to be able to pay for my kids' health insurance this month,
606
+ so if you value the work I am doing, I need your support.
607
+ Please consider sponsoring me or the project.
527
608
 
528
- [🔑cc-mnt]: https://codeclimate.com/github/pboling/debug_logging/maintainability
529
- [🔑cc-mnti]: https://api.codeclimate.com/v1/badges/1f36d7019c3b81cae1a2/maintainability
530
- [🔑cc-cov]: https://codeclimate.com/github/pboling/debug_logging/test_coverage
531
- [🔑cc-covi]: https://api.codeclimate.com/v1/badges/1f36d7019c3b81cae1a2/test_coverage
532
- [🔑depfu]: https://depfu.com/github/pboling/debug_logging?project_id=2675
533
- [🔑depfui]: https://badges.depfu.com/badges/d1a4cf43255916521fef1e3685c61faa/count.svg
609
+ To join the community or get help 👇️ Join the Discord.
610
+
611
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
612
+
613
+ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
614
+
615
+ [![Sponsor galtzo-floss/debug_logging on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
616
+
617
+ ### Please give the project a star ⭐ ♥.
618
+
619
+ Thanks for RTFM. ☺️
620
+
621
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
622
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
623
+ [⛳liberapay]: https://liberapay.com/pboling/donate
624
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
625
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
626
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
627
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
628
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
629
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
630
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
631
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
632
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
633
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
634
+ [🖇osc]: https://opencollective.com/galtzo-floss
635
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
636
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
637
+ [🖇sponsor]: https://github.com/sponsors/pboling
638
+ [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
639
+ [🖇polar]: https://polar.sh/pboling
640
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
641
+ [🖇kofi]: https://ko-fi.com/pboling
642
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
643
+ [🖇patreon]: https://patreon.com/galtzo
644
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
645
+ [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
646
+ [🖇buyme]: https://www.buymeacoffee.com/pboling
647
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
648
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
649
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
650
+ [🖇floss-funding.dev]: https://floss-funding.dev
651
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
652
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
653
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
654
+ [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
655
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
656
+
657
+ [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
658
+ [⛳️gem-namespace]: https://github.com/galtzo-floss/debug_logging
659
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-DebugLogging-3C2D2D.svg?style=square&logo=ruby&logoColor=white
660
+ [⛳️gem-name]: https://bestgems.org/gems/debug_logging
661
+ [⛳️name-img]: https://img.shields.io/badge/name-debug__logging-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
662
+ [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/debug_logging.svg
663
+ [⛳️tag]: https://github.com/galtzo-floss/debug_logging/releases
664
+ [🚂maint-blog]: http://www.railsbling.com/tags/debug_logging
665
+ [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
666
+ [🚂maint-contact]: http://www.railsbling.com/contact
667
+ [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
668
+ [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
669
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
670
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
671
+ [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
672
+ [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
673
+ [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
674
+ [💖🐘ruby-mast]: https://ruby.social/@galtzo
675
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
676
+ [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
677
+ [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
678
+ [💖🌳linktree]: https://linktr.ee/galtzo
679
+ [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
680
+ [💖💁🏼‍♂️devto]: https://dev.to/galtzo
681
+ [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
682
+ [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
683
+ [💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
684
+ [💖🧊berg]: https://codeberg.org/pboling
685
+ [💖🐙hub]: https://github.org/pboling
686
+ [💖🛖hut]: https://sr.ht/~galtzo/
687
+ [💖🧪lab]: https://gitlab.com/pboling
688
+ [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
689
+ [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
690
+ [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
691
+ [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
692
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-debug_logging?utm_source=rubygems-debug_logging&utm_medium=referral&utm_campaign=readme
693
+ [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
694
+ [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
695
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
696
+ [🚂railsbling]: http://www.railsbling.com
697
+ [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
698
+ [📜src-gl]: https://gitlab.com/galtzo-floss/debug_logging
699
+ [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
700
+ [📜src-cb]: https://codeberg.org/galtzo-floss/debug_logging
701
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
702
+ [📜src-gh]: https://github.com/galtzo-floss/debug_logging
703
+ [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
704
+ [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
705
+ [📜gl-wiki]: https://gitlab.com/galtzo-floss/debug_logging/-/wikis/home
706
+ [📜gh-wiki]: https://github.com/galtzo-floss/debug_logging/wiki
707
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
708
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
709
+ [👽dl-rank]: https://bestgems.org/gems/debug_logging
710
+ [👽dl-ranki]: https://img.shields.io/gem/rd/debug_logging.svg
711
+ [👽version]: https://bestgems.org/gems/debug_logging
712
+ [👽versioni]: https://img.shields.io/gem/v/debug_logging.svg
713
+ [🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/debug_logging
714
+ [🏀qlty-mnti]: https://qlty.sh/gh/galtzo-floss/projects/debug_logging/maintainability.svg
715
+ [🏀qlty-cov]: https://qlty.sh/gh/galtzo-floss/projects/debug_logging/metrics/code?sort=coverageRating
716
+ [🏀qlty-covi]: https://qlty.sh/gh/galtzo-floss/projects/debug_logging/coverage.svg
717
+ [🏀codecov]: https://codecov.io/gh/galtzo-floss/debug_logging
718
+ [🏀codecovi]: https://codecov.io/gh/galtzo-floss/debug_logging/graph/badge.svg
719
+ [🏀coveralls]: https://coveralls.io/github/galtzo-floss/debug_logging?branch=main
720
+ [🏀coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/debug_logging/badge.svg?branch=main
721
+ [🖐codeQL]: https://github.com/galtzo-floss/debug_logging/security/code-scanning
722
+ [🖐codeQL-img]: https://github.com/galtzo-floss/debug_logging/actions/workflows/codeql-analysis.yml/badge.svg
723
+ [🚎ruby-3.1-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/ruby-3.1.yml
724
+ [🚎ruby-3.2-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/ruby-3.2.yml
725
+ [🚎ruby-3.3-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/ruby-3.3.yml
726
+ [🚎ruby-3.4-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/ruby-3.4.yml
727
+ [🚎jruby-9.4-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/jruby-9.4.yml
728
+ [🚎truby-23.1-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/truffleruby-23.1.yml
729
+ [🚎truby-24.2-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/truffleruby-24.2.yml
730
+ [🚎truby-25.0-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/truffleruby-25.0.yml
731
+ [🚎2-cov-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/coverage.yml
732
+ [🚎2-cov-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/coverage.yml/badge.svg
733
+ [🚎3-hd-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/heads.yml
734
+ [🚎3-hd-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/heads.yml/badge.svg
735
+ [🚎5-st-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/style.yml
736
+ [🚎5-st-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/style.yml/badge.svg
737
+ [🚎9-t-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/truffle.yml
738
+ [🚎9-t-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/truffle.yml/badge.svg
739
+ [🚎10-j-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/jruby.yml
740
+ [🚎10-j-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/jruby.yml/badge.svg
741
+ [🚎11-c-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/current.yml
742
+ [🚎11-c-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/current.yml/badge.svg
743
+ [🚎12-crh-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/dep-heads.yml
744
+ [🚎12-crh-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/dep-heads.yml/badge.svg
745
+ [🚎13-🔒️-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/locked_deps.yml
746
+ [🚎13-🔒️-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/locked_deps.yml/badge.svg
747
+ [🚎14-🔓️-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/unlocked_deps.yml
748
+ [🚎14-🔓️-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/unlocked_deps.yml/badge.svg
749
+ [🚎15-🪪-wf]: https://github.com/galtzo-floss/debug_logging/actions/workflows/license-eye.yml
750
+ [🚎15-🪪-wfi]: https://github.com/galtzo-floss/debug_logging/actions/workflows/license-eye.yml/badge.svg
751
+ [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
752
+ [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
753
+ [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
754
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
755
+ [💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
756
+ [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
757
+ [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
758
+ [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
759
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
760
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
761
+ [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
762
+ [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
763
+ [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
764
+ [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
765
+ [🤝gh-issues]: https://github.com/galtzo-floss/debug_logging/issues
766
+ [🤝gh-pulls]: https://github.com/galtzo-floss/debug_logging/pulls
767
+ [🤝gl-issues]: https://gitlab.com/galtzo-floss/debug_logging/-/issues
768
+ [🤝gl-pulls]: https://gitlab.com/galtzo-floss/debug_logging/-/merge_requests
769
+ [🤝cb-issues]: https://codeberg.org/galtzo-floss/debug_logging/issues
770
+ [🤝cb-pulls]: https://codeberg.org/galtzo-floss/debug_logging/pulls
771
+ [🤝cb-donate]: https://donate.codeberg.org/
772
+ [🤝contributing]: https://github.com/galtzo-floss/debug_logging/blob/main/CONTRIBUTING.md
773
+ [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/debug_logging/graph/badge.svg
774
+ [🖐contrib-rocks]: https://contrib.rocks
775
+ [🖐contributors]: https://github.com/galtzo-floss/debug_logging/graphs/contributors
776
+ [🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/debug_logging
777
+ [🚎contributors-gl]: https://gitlab.com/galtzo-floss/debug_logging/-/graphs/main
778
+ [🪇conduct]: https://github.com/galtzo-floss/debug_logging/blob/main/CODE_OF_CONDUCT.md
779
+ [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
780
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
781
+ [📌semver]: https://semver.org/spec/v2.0.0.html
782
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
783
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
784
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
785
+ [📌changelog]: https://github.com/galtzo-floss/debug_logging/blob/main/CHANGELOG.md
786
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
787
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
788
+ [📌gitmoji]: https://gitmoji.dev
789
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
790
+ [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
791
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.735-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
792
+ [🔐security]: https://github.com/galtzo-floss/debug_logging/blob/main/SECURITY.md
793
+ [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
794
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
795
+ [📄license]: LICENSE.md
796
+ [📄license-ref]: MIT.md
797
+ [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
798
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
799
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-✓-259D6C.svg?style=flat&logo=Apache
800
+
801
+ [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
802
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
803
+ [🚎yard-current]: http://rubydoc.info/gems/debug_logging
804
+ [🚎yard-head]: https://debug-logging.galtzo.com
805
+ [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
806
+ [💎SHA_checksums]: https://gitlab.com/galtzo-floss/debug_logging/-/tree/main/checksums
807
+ [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
808
+ [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
809
+ [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
810
+ [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
811
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
812
+
813
+ <!-- kettle-jem:metadata:start -->
814
+ | Field | Value |
815
+ |---|---|
816
+ | Package | debug_logging |
817
+ | Description | 🪲 Unobtrusive debug logging for Ruby. NO LITTERING.<br>Automatically log selected methods and their arguments as they are called at runtime! |
818
+ | Homepage | https://github.com/galtzo-floss/debug_logging |
819
+ | Source | https://github.com/galtzo-floss/debug_logging/tree/v4.0.3 |
820
+ | License | `MIT` |
821
+ | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/pboling, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/debug_logging, https://www.buymeacoffee.com/pboling |
822
+ <!-- kettle-jem:metadata:end -->