activesupport-logger 2.0.3 → 3.0.1

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,109 +1,135 @@
1
- # Activesupport::Logger
2
-
3
- [![Version][👽versioni]][👽version]
4
- [![License: MIT][📄license-img]][📄license-ref]
5
- [![Downloads Rank][👽dl-ranki]][👽dl-rank]
6
- [![Open Source Helpers][👽oss-helpi]][👽oss-help]
7
- [![Depfu][🔑depfui♻️]][🔑depfu]
8
- [![CodeCov][🔑codecovi♻️]][🔑codecov]
9
- [![Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
10
- [![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
11
- [![CI Supported Build][🚎6-s-wfi]][🚎6-s-wf]
12
- [![CI Legacy Build][🚎4-lg-wfi]][🚎4-lg-wf]
13
- [![CI Unsupported Build][🚎7-us-wfi]][🚎7-us-wf]
14
- [![CI Heads Build][🚎3-hd-wfi]][🚎3-hd-wf]
15
- [![CI Coverage Build][🚎2-cov-wfi]][🚎2-cov-wf]
16
- [![CI Style Build][🚎5-st-wfi]][🚎5-st-wf]
17
-
18
- <!--- ( 👽️ INFO LINKS ) -->
19
-
20
- [👽dl-rank]: https://rubygems.org/gems/activesupport-logger
21
- [👽dl-ranki]: https://img.shields.io/gem/rd/activesupport-logger.svg
22
- [👽oss-help]: https://www.codetriage.com/pboling/activesupport-logger
23
- [👽oss-helpi]: https://www.codetriage.com/pboling/activesupport-logger/badges/users.svg
24
- [👽version]: https://rubygems.org/gems/activesupport-logger
25
- [👽versioni]: https://img.shields.io/gem/v/activesupport-logger.svg
1
+ <a href="https://github.com/galtzo-floss"><img alt="galtzo-floss Logo by GitHub" src="https://github.com/galtzo-floss.png?size=192" width="14%" align="right"/></a>
26
2
 
27
- <!--- ( 🔑 KEYED LINKS ) -->
28
-
29
- [🔑cc-mnt]: https://codeclimate.com/github/pboling/activesupport-logger/maintainability
30
- [🔑cc-mnti♻️]: https://api.codeclimate.com/v1/badges/92ec56db41ecb40496a3/maintainability
31
- [🔑cc-cov]: https://codeclimate.com/github/pboling/activesupport-logger/test_coverage
32
- [🔑cc-covi♻️]: https://api.codeclimate.com/v1/badges/92ec56db41ecb40496a3/test_coverage
33
- [🔑codecov]: https://codecov.io/gh/pboling/activesupport-logger
34
- [🔑codecovi♻️]: https://codecov.io/gh/pboling/activesupport-logger/branch/main/graph/badge.svg?token=pD4RjaBK7n
35
- [🔑depfu]: https://depfu.com/github/pboling/activesupport-logger
36
- [🔑depfui♻️]: https://badges.depfu.com/badges/a7cf10b9ba0b08aa1b9d414951619697/count.svg
37
-
38
- <!--- ( 🚎 BUILD LINKS ) -->
39
-
40
- [🚎2-cov-wf]: https://github.com/pboling/activesupport-logger/actions/workflows/coverage.yml
41
- [🚎2-cov-wfi]: https://github.com/pboling/activesupport-logger/actions/workflows/coverage.yml/badge.svg
42
- [🚎3-hd-wf]: https://github.com/pboling/activesupport-logger/actions/workflows/heads.yml
43
- [🚎3-hd-wfi]: https://github.com/pboling/activesupport-logger/actions/workflows/heads.yml/badge.svg
44
- [🚎4-lg-wf]: https://github.com/pboling/activesupport-logger/actions/workflows/legacy.yml
45
- [🚎4-lg-wfi]: https://github.com/pboling/activesupport-logger/actions/workflows/legacy.yml/badge.svg
46
- [🚎5-st-wf]: https://github.com/pboling/activesupport-logger/actions/workflows/style.yml
47
- [🚎5-st-wfi]: https://github.com/pboling/activesupport-logger/actions/workflows/style.yml/badge.svg
48
- [🚎6-s-wf]: https://github.com/pboling/activesupport-logger/actions/workflows/supported.yml
49
- [🚎6-s-wfi]: https://github.com/pboling/activesupport-logger/actions/workflows/supported.yml/badge.svg
50
- [🚎7-us-wf]: https://github.com/pboling/activesupport-logger/actions/workflows/unsupported.yml
51
- [🚎7-us-wfi]: https://github.com/pboling/activesupport-logger/actions/workflows/unsupported.yml/badge.svg
52
-
53
- -----
54
-
55
- [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
56
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
57
- [![Polar Shield][🖇polar-img]][🖇polar]
58
- [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
59
- [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
60
-
61
- [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
62
- [⛳liberapay]: https://liberapay.com/pboling/donate
63
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
64
- [🖇sponsor]: https://github.com/sponsors/pboling
65
- [🖇polar-img]: https://polar.sh/embed/seeks-funding-shield.svg?org=pboling
66
- [🖇polar]: https://polar.sh/pboling
67
- [🖇kofi-img]: https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg
68
- [🖇kofi]: https://ko-fi.com/O5O86SNP4
69
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
70
- [🖇patreon]: https://patreon.com/galtzo
3
+ # 💎 ActiveSupport::Logger
71
4
 
72
- This is an **unofficial** extraction of Rails' v8 `ActiveSupport::Logger`
73
- backported to work with Rails v5.2+ and Ruby 2.7+.
5
+ [![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Total downloads][👽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] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
74
6
 
75
- If the suite of gems this is part of is loaded in any version of Rails >= 5.2,
76
- it will replace the logging tooling completely.
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
77
8
 
78
- Simplified, the load order is basically:
9
+ ---
79
10
 
80
- - Enhanced [activesupport-logger][activesupport-logger] (this gem) which was ripped from Rails v8.0
81
- - Enhanced [activesupport-broadcast_logger][activesupport-broadcast_logger] which was ripped from Rails v8.0, and [this PR][pr-53093]
82
- - Enhanced [activesupport-tagged_logging][activesupport-tagged_logging] which was ripped from Rails v8.0, and [this PR][pr-53105]
11
+ `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.
83
12
 
84
- Above load order is handled for you in [activesupport-tagged_logging][activesupport-tagged_logging] (not this gem),
85
- so depend on that, not this. ;)
13
+ [![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 at ko-fi.com][🖇kofi-img]][🖇kofi]
86
14
 
87
- [activesupport-logger]: https://github.com/pboling/activesupport-logger
88
- [activesupport-broadcast_logger]: https://github.com/pboling/activesupport-broadcast_logger
89
- [activesupport-tagged_logging]: https://github.com/pboling/activesupport-tagged_logging
90
- [pr-53105]: https://github.com/rails/rails/pull/53105
91
- [pr-53093]: https://github.com/rails/rails/pull/53093
15
+ <details markdown="1">
16
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
92
17
 
93
- ## Installation
18
+ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
94
19
 
95
- NOTE: **Don't do this**. Instead, use [activesupport-tagged_logging][activesupport-tagged_logging]
96
- (not this gem, but which uses this gem as a dependency).
20
+ </details>
21
+
22
+ ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
23
+
24
+ Backports the Rails 8 `ActiveSupport::Logger` implementation, including its
25
+ thread-local log levels, source normalization, and formatter behavior, to older
26
+ supported Rails and Ruby versions.
27
+
28
+ ## 💡 Info you can shake a stick at
29
+
30
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
31
+ |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
32
+ | Works with JRuby | [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
33
+ | 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 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
34
+ | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
35
+ | 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]|
36
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![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] |
37
+ | 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] |
38
+ | 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] |
39
+ | 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] |
40
+ | 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] |
41
+ | 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] |
42
+ | `...` 💖 | [![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] |
43
+
44
+ ### Compatibility
45
+
46
+ Compatible with MRI Ruby 3.1.0+, JRuby, and TruffleRuby.
47
+ CI workflows and Appraisals are generated for MRI Ruby 3.1.0+.
48
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
49
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
50
+ not practical for the current toolchain.
51
+
52
+ <a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
53
+
54
+ The _amazing_ test matrix is powered by the kettle-dev stack.
55
+
56
+ <details markdown="1">
57
+ <summary>How kettle-dev manages complexity in tests</summary>
58
+
59
+ | Gem | Source | Role | Total downloads |
60
+ |-----|--------|------|---------------------|
61
+ | [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Total downloads for appraisal2](https://img.shields.io/gem/dt/appraisal2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2) |
62
+ | [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Total downloads for appraisal2-rubocop](https://img.shields.io/gem/dt/appraisal2-rubocop.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
63
+ | [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Total downloads for kettle-dev](https://img.shields.io/gem/dt/kettle-dev.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
64
+ | [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Total downloads for kettle-jem](https://img.shields.io/gem/dt/kettle-jem.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
65
+ | [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Total downloads for kettle-soup-cover](https://img.shields.io/gem/dt/kettle-soup-cover.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
66
+ | [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Total downloads for kettle-test](https://img.shields.io/gem/dt/kettle-test.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/kettle-test) |
67
+ | [rubocop-lts](https://clickgems.clickhouse.com/dashboard/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Total downloads for rubocop-lts](https://img.shields.io/gem/dt/rubocop-lts.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/rubocop-lts) |
68
+ | [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Total downloads for turbo_tests2](https://img.shields.io/gem/dt/turbo_tests2.svg?style=flat-square)](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
69
+
70
+ </details>
71
+
72
+ ### Federated DVCS
73
+
74
+ <details markdown="1">
75
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
76
+
77
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
78
+ |-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
79
+ | 🧪 [galtzo-floss/activesupport-logger on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
80
+ | 🧊 [galtzo-floss/activesupport-logger on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
81
+ | 🐙 [galtzo-floss/activesupport-logger on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
82
+
83
+ </details>
84
+
85
+ ### Enterprise Support
86
+
87
+ [![Tidelift](https://tidelift.com/badges/package/rubygems/activesupport-logger)](https://tidelift.com/subscription/pkg/rubygems-activesupport-logger?utm_source=rubygems-activesupport-logger&utm_medium=referral&utm_campaign=readme)
88
+
89
+ Available as part of the Tidelift Subscription.
90
+
91
+ <details markdown="1">
92
+ <summary>Need enterprise-level guarantees?</summary>
93
+
94
+ 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.
95
+
96
+ [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
97
+
98
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
99
+ - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
100
+ - 💡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
101
+
102
+ Alternatively:
103
+
104
+ - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
105
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
106
+ - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
107
+ - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
108
+
109
+ </details>
110
+
111
+ ## ✨ Installation
97
112
 
98
113
  Install the gem and add to the application's Gemfile by executing:
99
114
 
100
- $ bundle add activesupport-logger
115
+ ```console
116
+ bundle add activesupport-logger
117
+ ```
101
118
 
102
119
  If bundler is not being used to manage dependencies, install the gem by executing:
103
120
 
104
- $ gem install activesupport-logger
121
+ ```console
122
+ gem install activesupport-logger
123
+ ```
124
+
125
+ ## ⚙️ Configuration
126
+
127
+ Use the normal `ActiveSupport::Logger` constructor and Rails logger settings.
128
+ This gem does not add an application-specific configuration file and should
129
+ normally be loaded indirectly through `activesupport-tagged_logging` or
130
+ `activesupport-broadcast_logger` so their required load order is preserved.
105
131
 
106
- ## Usage
132
+ ## 🔧 Basic Usage
107
133
 
108
134
  NOTE: **Don't do this**. Instead, use [activesupport-tagged_logging][activesupport-tagged_logging]
109
135
  (not this gem, but which uses this gem as a dependency, and also configures this gem for you).
@@ -126,51 +152,97 @@ IMPORTANT: If you are using [activesupport-tagged_logging][activesupport-tagged_
126
152
  **do not require [activesupport-logger][activesupport-logger] in your code.**
127
153
  Load order matters.
128
154
 
129
- ## General Info
130
-
131
- | Primary Namespaces | `Activesupport::Logger` && `ActiveSupport::Logger` |
132
- |--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
133
- | documentation | [on Github.com][homepage], [Latest release on RubyDoc.info][documentation], [HEAD on RubyDoc.info][documentation-head] |
134
- | 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) |
135
- | `...` 💖 | [![Follow Me on LinkedIn][🖇linkedin-img]][🖇linkedin] [![Find Me on WellFound:][✌️wellfound-img]][✌️wellfound] [![Find Me on CrunchBase][💲crunchbase-img]][💲crunchbase] [![My LinkTree][🌳linktree-img]][🌳linktree] [![Follow Me on Ruby.Social][🐘ruby-mast-img]][🐘ruby-mast] [![Tweet @ Peter][🐦tweet-img]][🐦tweet] [💻][coderme] [🌏][aboutme] |
136
-
137
- <!-- 7️⃣ spread 💖 -->
138
- [🐦tweet-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow%20%40galtzo
139
- [🐦tweet]: http://twitter.com/galtzo
140
- [🚎blog]: http://www.railsbling.com/tags/activesupport-logger/
141
- [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
142
- [🖇linkedin]: http://www.linkedin.com/in/peterboling
143
- [🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-blue?style=plastic&logo=linkedin
144
- [✌️wellfound]: https://angel.co/u/peter-boling
145
- [✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=plastic&logo=wellfound
146
- [💲crunchbase]: https://www.crunchbase.com/person/peter-boling
147
- [💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=plastic&logo=crunchbase
148
- [🐘ruby-mast]: https://ruby.social/@galtzo
149
- [🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=plastic&logo=mastodon&label=Ruby%20%40galtzo
150
- [🌳linktree]: https://linktr.ee/galtzo
151
- [🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=plastic&logo=linktree
152
-
153
- <!-- Maintainer Contact Links -->
154
- [aboutme]: https://about.me/peter.boling
155
- [coderme]: https://coderwall.com/Peter%20Boling
155
+ ## 🦷 FLOSS Funding
156
+
157
+ While galtzo-floss tools are free software and will always be, the project would benefit immensely from some funding.
158
+ Raising a monthly budget of... "dollars" would make the project more sustainable.
159
+
160
+ We welcome both individual and corporate sponsors! We also offer a
161
+ wide array of funding channels to account for your preferences.
162
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
163
+
164
+ **If you're working in a company that's making significant use of galtzo-floss tools we'd
165
+ appreciate it if you suggest to your company to become a galtzo-floss sponsor.**
166
+
167
+ You can support the development of galtzo-floss tools via
168
+ [GitHub Sponsors][🖇sponsor],
169
+ [Liberapay][⛳liberapay],
170
+ [PayPal][🖇paypal],
171
+ [Open Collective][🖇osc]
172
+ and [Tidelift][🏙️entsup-tidelift].
173
+
174
+ | 📍 NOTE |
175
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
176
+ | 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. |
177
+
178
+ ### Open Collective for Individuals
179
+
180
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/galtzo-floss#backer)]
181
+
182
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
183
+
184
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
185
+ No backers yet. Be the first!
186
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
187
+
188
+ ### Open Collective for Organizations
189
+
190
+ 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)]
191
+
192
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
193
+
194
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
195
+ No sponsors yet. Be the first!
196
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
197
+
198
+ [kettle-readme-backers]: https://github.com/galtzo-floss/activesupport-logger/blob/main/bin/kettle-readme-backers
199
+
200
+ ### Another way to support open-source
201
+
202
+ 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).
203
+
204
+ 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`.
205
+
206
+ 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.
207
+
208
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
209
+
210
+ [![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 to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
211
+
212
+ ## 🔐 Security
213
+
214
+ See [SECURITY.md][🔐security].
156
215
 
157
216
  ## 🤝 Contributing
158
217
 
159
218
  If you need some ideas of where to help, you could work on adding more code coverage,
160
- or if it is already 💯 then check [issues][🤝issues], or [PRs][🤝pulls],
161
- or use the gem and think about how it could be better.
219
+ check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
220
+
221
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
162
222
 
163
- Also, see [CONTRIBUTING.md][🤝contributing].
223
+ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
164
224
 
165
- [🤝issues]: https://github.com/pboling/activesupport-logger/issues
166
- [🤝pulls]: https://github.com/pboling/activesupport-logger/pulls
167
- [🤝contributing]: CONTRIBUTING.md
225
+ ### 🚀 Release Instructions
226
+
227
+ See [CONTRIBUTING.md][🤝contributing].
168
228
 
169
229
  ### Code Coverage
170
230
 
171
- [![Coverage Graph][🔑codecov-g]][🔑codecov]
231
+ <details markdown="1">
232
+ <summary>Coverage service badges</summary>
233
+
234
+ [![Coverage Graph][🏀codecov-g]][🏀codecov]
235
+
236
+ [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
237
+
238
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
239
+
240
+ </details>
241
+
242
+ ### 🪇 Code of Conduct
172
243
 
173
- [🔑codecov-g]: https://codecov.io/gh/pboling/activesupport-logger/graphs/tree.svg?token=cc6UdZCpAL
244
+ Everyone interacting with this project's codebases, issue trackers,
245
+ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
174
246
 
175
247
  ## 🌈 Contributors
176
248
 
@@ -178,95 +250,278 @@ Also, see [CONTRIBUTING.md][🤝contributing].
178
250
 
179
251
  Made with [contributors-img][🖐contrib-rocks].
180
252
 
181
- [🖐contrib-rocks]: https://contrib.rocks
182
- [🖐contributors]: https://github.com/pboling/activesupport-logger/graphs/contributors
183
- [🖐contributors-img]: https://contrib.rocks/image?repo=pboling/activesupport-logger
184
-
185
- ## Star History
253
+ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/activesupport-logger/-/graphs/main][🚎contributors-gl]
186
254
 
187
- <a href="https://star-history.com/#pboling/activesupport-logger&Date">
188
- <picture>
189
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=pboling/activesupport-logger&type=Date&theme=dark" />
190
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=pboling/activesupport-logger&type=Date" />
191
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=pboling/activesupport-logger&type=Date" />
192
- </picture>
193
- </a>
255
+ ## 📌 Versioning
194
256
 
195
- ## 🪇 Code of Conduct
257
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
258
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
196
259
 
197
- Everyone interacting in this project's codebases, issue trackers,
198
- chat rooms and mailing lists is expected to follow the [code of conduct][🪇conduct].
260
+ For example:
199
261
 
200
- [🪇conduct]: CODE_OF_CONDUCT.md
262
+ ```ruby
263
+ spec.add_dependency("activesupport-logger", "~> 3.0")
264
+ ```
201
265
 
202
- ## 📌 Versioning
266
+ <details markdown="1">
267
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
203
268
 
204
- This Library adheres to [Semantic Versioning 2.0.0][📌semver].
205
- Violations of this scheme should be reported as bugs.
206
- Specifically, if a minor or patch version is released that breaks backward compatibility,
207
- a new version should be immediately released that restores compatibility.
208
- Breaking changes to the public API will only be introduced with new major versions.
269
+ Dropping support for a platform can be a breaking change for affected users.
270
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
209
271
 
210
272
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
211
273
  read this article from the creator of SemVer:
212
274
 
213
275
  - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
214
276
 
215
- As a result of this policy, you can (and should) specify a dependency on these libraries using
216
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
277
+ </details>
217
278
 
218
- For example:
279
+ See [CHANGELOG.md][📌changelog] for a list of releases.
219
280
 
220
- ```ruby
221
- spec.add_dependency("activesupport-logger", "~> 2.0")
222
- ```
281
+ ## 📄 License
223
282
 
224
- See [CHANGELOG.md][📌changelog] for list of releases.
283
+ The gem is available as open source under the terms of
284
+ the [MIT](https://github.com/galtzo-floss/activesupport-logger/blob/main/MIT.md) [![License: MIT][📄license-img]][📄license-ref].
225
285
 
226
- <!--- ( 📌 VERSIONING LINKS ) -->
286
+ ### © Copyright
227
287
 
228
- [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
229
- [📌semver]: http://semver.org/
230
- [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
231
- [📌changelog]: CHANGELOG.md
288
+ See [LICENSE.md][📄license] for the official copyright notice.
232
289
 
233
- ## 📄 License
290
+ <details markdown="1">
291
+ <summary>Copyright holders</summary>
234
292
 
235
- The gem is available as open source under the terms of
236
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
293
+ - Copyright (c) 2024, 2026 Peter H. Boling
237
294
 
238
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
295
+ </details>
239
296
 
240
- <!--- ( 📄 LEGAL LINKS ) -->
297
+ ## 🤑 A request for help
241
298
 
242
- [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
243
- [📄license]: LICENSE.txt
244
- [📄license-ref]: https://opensource.org/licenses/MIT
245
- [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
299
+ Maintainers have teeth and need to pay their dentists.
300
+ After getting laid off in an RIF in March, and encountering difficulty finding a new one,
301
+ I began spending most of my time building open source tools.
302
+ I'm hoping to be able to pay for my kids' health insurance this month,
303
+ so if you value the work I am doing, I need your support.
304
+ Please consider sponsoring me or the project.
246
305
 
247
- ### © Copyright
306
+ To join the community or get help, use the RubyForum or Discord.
307
+
308
+ [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
309
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
248
310
 
249
- * Copyright (c) David Heinemeier Hansson
250
- * Parts original to this extraction are:
251
- * Copyright (c) 2024 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
311
+ To say "thanks!" ☝️ Join the community or 👇️ send money.
252
312
 
253
- [railsbling]: http://www.railsbling.com
254
- [peterboling]: http://www.peterboling.com
255
- [bundle-group-pattern]: https://gist.github.com/pboling/4564780
256
- [documentation]: http://rubydoc.info/gems/activesupport-logger
257
- [documentation-head]: https://rubydoc.info/github/pboling/activesupport-logger/main
258
- [homepage]: https://github.com/pboling/activesupport-logger
313
+ [![Sponsor galtzo-floss/activesupport-logger 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]
259
314
 
260
- ## 🤑 One more thing
315
+ ### Please give the project a star ⭐ ♥.
261
316
 
262
- You made it to the bottom of the page,
263
- so perhaps you'll indulge me for another 20 seconds.
264
- I maintain many dozens of gems, including this one,
265
- because I want Ruby to be a great place for people to solve problems, big and small.
266
- Please consider supporting my efforts via the giant yellow link below,
267
- or one of the others at the head of this README.
317
+ Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
268
318
 
269
- [![Buy me a latte][🖇buyme-img]][🖇buyme]
319
+ Thanks for RTFM. ☺️
270
320
 
321
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
322
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
323
+ [⛳liberapay]: https://liberapay.com/pboling/donate
324
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
325
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
326
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
327
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
328
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
329
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
330
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
331
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
332
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
333
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
334
+ [🖇osc]: https://opencollective.com/galtzo-floss
335
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
336
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
337
+ [🖇sponsor]: https://github.com/sponsors/pboling
338
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
339
+ [🖇kofi]: https://ko-fi.com/pboling
340
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
271
341
  [🖇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
272
342
  [🖇buyme]: https://www.buymeacoffee.com/pboling
343
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
344
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
345
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
346
+ [🖇floss-funding.dev]: https://floss-funding.dev
347
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
348
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
349
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
350
+ [✉️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
351
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
352
+ [✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
353
+ [✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
354
+ [✉️ruby-forum]: https://www.rubyforum.org/tag/galtzo-floss
355
+
356
+ [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
357
+ [⛳️gem-namespace]: https://github.com/galtzo-floss/activesupport-logger
358
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-ActiveSupport::Logger-3C2D2D.svg?style=square&logo=ruby&logoColor=white
359
+ [⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/activesupport-logger
360
+ [⛳️name-img]: https://img.shields.io/badge/name-activesupport--logger-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
361
+ [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/activesupport-logger.svg
362
+ [⛳️tag]: https://github.com/galtzo-floss/activesupport-logger/releases
363
+ [🚂maint-blog]: http://www.railsbling.com/tags/activesupport-logger
364
+ [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
365
+ [🚂maint-contact]: http://www.railsbling.com/contact
366
+ [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
367
+ [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
368
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
369
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
370
+ [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
371
+ [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
372
+ [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
373
+ [💖🐘ruby-mast]: https://ruby.social/@galtzo
374
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
375
+ [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
376
+ [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
377
+ [💖🌳linktree]: https://linktr.ee/galtzo
378
+ [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
379
+ [💖💁🏼‍♂️devto]: https://dev.to/galtzo
380
+ [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
381
+ [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
382
+ [💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
383
+ [💖🧊berg]: https://codeberg.org/pboling
384
+ [💖🐙hub]: https://github.org/pboling
385
+ [💖🛖hut]: https://sr.ht/~galtzo/
386
+ [💖🧪lab]: https://gitlab.com/pboling
387
+ [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
388
+ [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
389
+ [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
390
+ [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
391
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-activesupport-logger?utm_source=rubygems-activesupport-logger&utm_medium=referral&utm_campaign=readme
392
+ [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
393
+ [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
394
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
395
+ [🚂railsbling]: http://www.railsbling.com
396
+ [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
397
+ [📜src-gl]: https://gitlab.com/galtzo-floss/activesupport-logger
398
+ [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
399
+ [📜src-cb]: https://codeberg.org/galtzo-floss/activesupport-logger
400
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
401
+ [📜src-gh]: https://github.com/galtzo-floss/activesupport-logger
402
+ [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
403
+ [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
404
+ [📜gl-wiki]: https://gitlab.com/galtzo-floss/activesupport-logger/-/wikis/home
405
+ [📜gh-wiki]: https://github.com/galtzo-floss/activesupport-logger/wiki
406
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
407
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
408
+ [👽dl-rank]: https://clickgems.clickhouse.com/dashboard/activesupport-logger
409
+ [👽dl-ranki]: https://img.shields.io/gem/dt/activesupport-logger.svg
410
+ [👽version]: https://clickgems.clickhouse.com/dashboard/activesupport-logger
411
+ [👽versioni]: https://img.shields.io/gem/v/activesupport-logger.svg
412
+ [🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger
413
+ [🏀qlty-mnti]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger/maintainability.svg
414
+ [🏀qlty-cov]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger/metrics/code?sort=coverageRating
415
+ [🏀qlty-covi]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger/coverage.svg
416
+ [🏀codecov]: https://codecov.io/gh/galtzo-floss/activesupport-logger
417
+ [🏀codecovi]: https://codecov.io/gh/galtzo-floss/activesupport-logger/graph/badge.svg
418
+ [🏀coveralls]: https://coveralls.io/github/galtzo-floss/activesupport-logger?branch=main
419
+ [🏀coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/activesupport-logger/badge.svg?branch=main
420
+ [🚎ruby-3.1-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.1.yml
421
+ [🚎ruby-3.2-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.2.yml
422
+ [🚎ruby-3.3-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.3.yml
423
+ [🚎ruby-3.4-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.4.yml
424
+ [🚎jruby-9.4-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby-9.4.yml
425
+ [🚎jruby-10.0-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby-10.0.yml
426
+ [🚎truby-23.1-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-23.1.yml
427
+ [🚎truby-24.2-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-24.2.yml
428
+ [🚎truby-25.0-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-25.0.yml
429
+ [🚎truby-33.0-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-33.0.yml
430
+ [🚎2-cov-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/coverage.yml
431
+ [🚎2-cov-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/coverage.yml/badge.svg
432
+ [🚎3-hd-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/heads.yml
433
+ [🚎3-hd-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/heads.yml/badge.svg
434
+ [🚎5-st-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/style.yml
435
+ [🚎5-st-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/style.yml/badge.svg
436
+ [🚎9-t-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffle.yml
437
+ [🚎9-t-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffle.yml/badge.svg
438
+ [🚎10-j-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby.yml
439
+ [🚎10-j-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby.yml/badge.svg
440
+ [🚎11-c-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/current.yml
441
+ [🚎11-c-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/current.yml/badge.svg
442
+ [🚎12-crh-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/dep-heads.yml
443
+ [🚎12-crh-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/dep-heads.yml/badge.svg
444
+ [🚎13-🔒️-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/locked_deps.yml
445
+ [🚎13-🔒️-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/locked_deps.yml/badge.svg
446
+ [🚎14-🔓️-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/unlocked_deps.yml
447
+ [🚎14-🔓️-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/unlocked_deps.yml/badge.svg
448
+ [🚎15-🪪-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/license-eye.yml
449
+ [🚎15-🪪-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/license-eye.yml/badge.svg
450
+ [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
451
+ [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
452
+ [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
453
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
454
+ [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
455
+ [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
456
+ [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
457
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
458
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
459
+ [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
460
+ [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
461
+ [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
462
+ [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
463
+ [💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
464
+ [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
465
+ [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
466
+ [🤝gh-issues]: https://github.com/galtzo-floss/activesupport-logger/issues
467
+ [🤝gh-pulls]: https://github.com/galtzo-floss/activesupport-logger/pulls
468
+ [🤝gl-issues]: https://gitlab.com/galtzo-floss/activesupport-logger/-/issues
469
+ [🤝gl-pulls]: https://gitlab.com/galtzo-floss/activesupport-logger/-/merge_requests
470
+ [🤝cb-issues]: https://codeberg.org/galtzo-floss/activesupport-logger/issues
471
+ [🤝cb-pulls]: https://codeberg.org/galtzo-floss/activesupport-logger/pulls
472
+ [🤝cb-donate]: https://donate.codeberg.org/
473
+ [🤝contributing]: https://github.com/galtzo-floss/activesupport-logger/blob/main/CONTRIBUTING.md
474
+ [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/activesupport-logger/graph/badge.svg
475
+ [🖐contrib-rocks]: https://contrib.rocks
476
+ [🖐contributors]: https://github.com/galtzo-floss/activesupport-logger/graphs/contributors
477
+ [🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/activesupport-logger
478
+ [🚎contributors-gl]: https://gitlab.com/galtzo-floss/activesupport-logger/-/graphs/main
479
+ [🪇conduct]: https://github.com/galtzo-floss/activesupport-logger/blob/main/CODE_OF_CONDUCT.md
480
+ [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
481
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
482
+ [📌semver]: https://semver.org/spec/v2.0.0.html
483
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
484
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
485
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
486
+ [📌changelog]: https://github.com/galtzo-floss/activesupport-logger/blob/main/CHANGELOG.md
487
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
488
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
489
+ [📌gitmoji]: https://gitmoji.dev
490
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
491
+ [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
492
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.128-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
493
+ [🔐security]: https://github.com/galtzo-floss/activesupport-logger/blob/main/SECURITY.md
494
+ [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
495
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
496
+ [📄license]: LICENSE.md
497
+ [📄license-ref]: https://github.com/galtzo-floss/activesupport-logger/blob/main/MIT.md
498
+ [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
499
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
500
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
501
+
502
+ [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
503
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
504
+ [🚎yard-current]: http://rubydoc.info/gems/activesupport-logger
505
+ [🚎yard-head]: https://activesupport-logger.galtzo.com
506
+ [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
507
+ [💎SHA_checksums]: https://gitlab.com/galtzo-floss/activesupport-logger/-/tree/main/checksums
508
+ [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
509
+ [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
510
+ [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
511
+ [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
512
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
513
+
514
+ <!-- kettle-jem:metadata:start -->
515
+ | Field | Value |
516
+ |---|---|
517
+ | Package | activesupport-logger |
518
+ | Description | 💎 Rails v8 ActiveSupport::Logger backported to Rails v5.2+ & Ruby 3.1+ |
519
+ | Homepage | https://github.com/galtzo-floss/activesupport-logger |
520
+ | Source | https://github.com/galtzo-floss/activesupport-logger |
521
+ | License | `MIT` |
522
+ | Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/galtzo-floss, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/activesupport-logger, https://www.buymeacoffee.com/pboling |
523
+ <!-- kettle-jem:metadata:end -->
524
+
525
+ [activesupport-tagged_logging]: https://github.com/galtzo-floss/activesupport-tagged_logging
526
+ [activesupport-broadcast_logger]: https://github.com/galtzo-floss/activesupport-broadcast_logger
527
+ [activesupport-logger]: https://github.com/galtzo-floss/activesupport-logger