activesupport-logger 2.0.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,109 +1,133 @@
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::SimpleFormatter
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, 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 [![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)
86
+
87
+ Available as part of the Tidelift Subscription.
88
+
89
+ <details markdown="1">
90
+ <summary>Need enterprise-level guarantees?</summary>
91
+
92
+ 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.
93
+
94
+ [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
95
+
96
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
97
+ - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
98
+ - 💡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
99
+
100
+ Alternatively:
101
+
102
+ - [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
103
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
104
+ - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
105
+ - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
106
+
107
+ </details>
108
+
109
+ ## ✨ Installation
97
110
 
98
111
  Install the gem and add to the application's Gemfile by executing:
99
112
 
100
- $ bundle add activesupport-logger
113
+ ```console
114
+ bundle add activesupport-logger
115
+ ```
101
116
 
102
117
  If bundler is not being used to manage dependencies, install the gem by executing:
103
118
 
104
- $ gem install activesupport-logger
119
+ ```console
120
+ gem install activesupport-logger
121
+ ```
122
+
123
+ ## ⚙️ Configuration
105
124
 
106
- ## Usage
125
+ Use the normal `ActiveSupport::Logger` constructor and Rails logger settings.
126
+ This gem does not add an application-specific configuration file and should
127
+ normally be loaded indirectly through `activesupport-tagged_logging` or
128
+ `activesupport-broadcast_logger` so their required load order is preserved.
129
+
130
+ ## 🔧 Basic Usage
107
131
 
108
132
  NOTE: **Don't do this**. Instead, use [activesupport-tagged_logging][activesupport-tagged_logging]
109
133
  (not this gem, but which uses this gem as a dependency, and also configures this gem for you).
@@ -126,51 +150,98 @@ IMPORTANT: If you are using [activesupport-tagged_logging][activesupport-tagged_
126
150
  **do not require [activesupport-logger][activesupport-logger] in your code.**
127
151
  Load order matters.
128
152
 
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
153
+ ## 🦷 FLOSS Funding
154
+
155
+ While galtzo-floss tools are free software and will always be, the project would benefit immensely from some funding.
156
+ Raising a monthly budget of... "dollars" would make the project more sustainable.
157
+
158
+ We welcome both individual and corporate sponsors! We also offer a
159
+ wide array of funding channels to account for your preferences.
160
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
161
+
162
+ **If you're working in a company that's making significant use of galtzo-floss tools we'd
163
+ appreciate it if you suggest to your company to become a galtzo-floss sponsor.**
164
+
165
+ You can support the development of galtzo-floss tools via
166
+ [GitHub Sponsors][🖇sponsor],
167
+ [Liberapay][⛳liberapay],
168
+ [PayPal][🖇paypal],
169
+ [Open Collective][🖇osc]
170
+ and [Tidelift][🏙️entsup-tidelift].
171
+
172
+ | 📍 NOTE |
173
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
174
+ | 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. |
175
+
176
+ ### Open Collective for Individuals
177
+
178
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/galtzo-floss#backer)]
179
+
180
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
181
+
182
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
183
+ No backers yet. Be the first!
184
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
185
+
186
+ ### Open Collective for Organizations
187
+
188
+ 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)]
189
+
190
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
191
+
192
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
193
+ No sponsors yet. Be the first!
194
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
195
+
196
+ [kettle-readme-backers]: https://github.com/galtzo-floss/activesupport-logger/blob/main/bin/kettle-readme-backers
197
+
198
+ ### Another way to support open-source
199
+
200
+ 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).
201
+
202
+ 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`.
203
+
204
+ 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.
205
+
206
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
207
+
208
+ [![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]
209
+
210
+ ## 🔐 Security
211
+
212
+ See [SECURITY.md][🔐security].
156
213
 
157
214
  ## 🤝 Contributing
158
215
 
159
216
  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],
217
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
161
218
  or use the gem and think about how it could be better.
162
219
 
163
- Also, see [CONTRIBUTING.md][🤝contributing].
220
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
164
221
 
165
- [🤝issues]: https://github.com/pboling/activesupport-logger/issues
166
- [🤝pulls]: https://github.com/pboling/activesupport-logger/pulls
167
- [🤝contributing]: CONTRIBUTING.md
222
+ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
223
+
224
+ ### 🚀 Release Instructions
225
+
226
+ See [CONTRIBUTING.md][🤝contributing].
168
227
 
169
228
  ### Code Coverage
170
229
 
171
- [![Coverage Graph][🔑codecov-g]][🔑codecov]
230
+ <details markdown="1">
231
+ <summary>Coverage service badges</summary>
232
+
233
+ [![Coverage Graph][🏀codecov-g]][🏀codecov]
172
234
 
173
- [🔑codecov-g]: https://codecov.io/gh/pboling/activesupport-logger/graphs/tree.svg?token=cc6UdZCpAL
235
+ [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
236
+
237
+ [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
238
+
239
+ </details>
240
+
241
+ ### 🪇 Code of Conduct
242
+
243
+ Everyone interacting with this project's codebases, issue trackers,
244
+ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
174
245
 
175
246
  ## 🌈 Contributors
176
247
 
@@ -178,95 +249,290 @@ Also, see [CONTRIBUTING.md][🤝contributing].
178
249
 
179
250
  Made with [contributors-img][🖐contrib-rocks].
180
251
 
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
252
+ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/activesupport-logger/-/graphs/main][🚎contributors-gl]
184
253
 
185
- ## Star History
254
+ <details markdown="1">
255
+ <summary>⭐️ Star History</summary>
186
256
 
187
- <a href="https://star-history.com/#pboling/activesupport-logger&Date">
257
+ <a href="https://star-history.com/galtzo-floss/activesupport-logger&Date">
188
258
  <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" />
259
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/activesupport-logger&type=Date&theme=dark" />
260
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/activesupport-logger&type=Date" />
261
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=galtzo-floss/activesupport-logger&type=Date" />
192
262
  </picture>
193
263
  </a>
194
264
 
195
- ## 🪇 Code of Conduct
265
+ </details>
266
+
267
+ ## 📌 Versioning
196
268
 
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].
269
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
270
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
199
271
 
200
- [🪇conduct]: CODE_OF_CONDUCT.md
272
+ For example:
201
273
 
202
- ## 📌 Versioning
274
+ ```ruby
275
+ spec.add_dependency("activesupport-logger", "~> 2.0")
276
+ ```
203
277
 
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.
278
+ <details markdown="1">
279
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
280
+
281
+ Dropping support for a platform can be a breaking change for affected users.
282
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
209
283
 
210
284
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
211
285
  read this article from the creator of SemVer:
212
286
 
213
287
  - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
214
288
 
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.
289
+ </details>
217
290
 
218
- For example:
291
+ See [CHANGELOG.md][📌changelog] for a list of releases.
219
292
 
220
- ```ruby
221
- spec.add_dependency("activesupport-logger", "~> 2.0")
222
- ```
293
+ ## 📄 License
223
294
 
224
- See [CHANGELOG.md][📌changelog] for list of releases.
295
+ The gem is available as open source under the terms of
296
+ the [MIT](https://github.com/galtzo-floss/activesupport-logger/blob/main/MIT.md) [![License: MIT][📄license-img]][📄license-ref].
225
297
 
226
- <!--- ( 📌 VERSIONING LINKS ) -->
298
+ ### © Copyright
227
299
 
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
300
+ See [LICENSE.md][📄license] for the official copyright notice.
232
301
 
233
- ## 📄 License
302
+ <details markdown="1">
303
+ <summary>Copyright holders</summary>
234
304
 
235
- The gem is available as open source under the terms of
236
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
305
+ - Copyright (c) 2024, 2026 Peter H. Boling
237
306
 
238
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
307
+ </details>
239
308
 
240
- <!--- ( 📄 LEGAL LINKS ) -->
309
+ ## 🤑 A request for help
241
310
 
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
311
+ Maintainers have teeth and need to pay their dentists.
312
+ After getting laid off in an RIF in March, and encountering difficulty finding a new one,
313
+ I began spending most of my time building open source tools.
314
+ I'm hoping to be able to pay for my kids' health insurance this month,
315
+ so if you value the work I am doing, I need your support.
316
+ Please consider sponsoring me or the project.
246
317
 
247
- ### © Copyright
318
+ To join the community or get help, use the RubyForum or Discord.
319
+
320
+ [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
321
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
248
322
 
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]
323
+ To say "thanks!" ☝️ Join the community or 👇️ send money.
252
324
 
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
325
+ [![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
326
 
260
- ## 🤑 One more thing
327
+ ### Please give the project a star ⭐ ♥.
261
328
 
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.
329
+ 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
330
 
269
- [![Buy me a latte][🖇buyme-img]][🖇buyme]
331
+ Thanks for RTFM. ☺️
270
332
 
333
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
334
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
335
+ [⛳liberapay]: https://liberapay.com/pboling/donate
336
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
337
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
338
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
339
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
340
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
341
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
342
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
343
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
344
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
345
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
346
+ [🖇osc]: https://opencollective.com/galtzo-floss
347
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
348
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
349
+ [🖇sponsor]: https://github.com/sponsors/pboling
350
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
351
+ [🖇kofi]: https://ko-fi.com/pboling
352
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
271
353
  [🖇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
354
  [🖇buyme]: https://www.buymeacoffee.com/pboling
355
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
356
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
357
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
358
+ [🖇floss-funding.dev]: https://floss-funding.dev
359
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
360
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
361
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
362
+ [✉️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
363
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
364
+ [✉️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
365
+ [✉️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
366
+ [✉️ruby-forum]: https://www.rubyforum.org/tag/galtzo-floss
367
+
368
+ [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
369
+ [⛳️gem-namespace]: https://github.com/galtzo-floss/activesupport-logger
370
+ [activesupport-logger]: https://github.com/galtzo-floss/activesupport-logger
371
+ [activesupport-broadcast_logger]: https://github.com/galtzo-floss/activesupport-broadcast_logger
372
+ [activesupport-tagged_logging]: https://github.com/galtzo-floss/activesupport-tagged_logging
373
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-ActiveSupport::Logger::SimpleFormatter-3C2D2D.svg?style=square&logo=ruby&logoColor=white
374
+ [⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/activesupport-logger
375
+ [⛳️name-img]: https://img.shields.io/badge/name-activesupport--logger-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
376
+ [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/activesupport-logger.svg
377
+ [⛳️tag]: https://github.com/galtzo-floss/activesupport-logger/releases
378
+ [🚂maint-blog]: http://www.railsbling.com/tags/activesupport-logger
379
+ [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
380
+ [🚂maint-contact]: http://www.railsbling.com/contact
381
+ [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
382
+ [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
383
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
384
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
385
+ [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
386
+ [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
387
+ [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
388
+ [💖🐘ruby-mast]: https://ruby.social/@galtzo
389
+ [💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
390
+ [💖🦋bluesky]: https://bsky.app/profile/galtzo.com
391
+ [💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
392
+ [💖🌳linktree]: https://linktr.ee/galtzo
393
+ [💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
394
+ [💖💁🏼‍♂️devto]: https://dev.to/galtzo
395
+ [💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
396
+ [💖💁🏼‍♂️aboutme]: https://about.me/peter.boling
397
+ [💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
398
+ [💖🧊berg]: https://codeberg.org/pboling
399
+ [💖🐙hub]: https://github.org/pboling
400
+ [💖🛖hut]: https://sr.ht/~galtzo/
401
+ [💖🧪lab]: https://gitlab.com/pboling
402
+ [👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
403
+ [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
404
+ [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
405
+ [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
406
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-activesupport-logger?utm_source=rubygems-activesupport-logger&utm_medium=referral&utm_campaign=readme
407
+ [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
408
+ [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
409
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
410
+ [🚂railsbling]: http://www.railsbling.com
411
+ [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
412
+ [📜src-gl]: https://gitlab.com/galtzo-floss/activesupport-logger
413
+ [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
414
+ [📜src-cb]: https://codeberg.org/galtzo-floss/activesupport-logger
415
+ [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
416
+ [📜src-gh]: https://github.com/galtzo-floss/activesupport-logger
417
+ [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
418
+ [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
419
+ [📜gl-wiki]: https://gitlab.com/galtzo-floss/activesupport-logger/-/wikis/home
420
+ [📜gh-wiki]: https://github.com/galtzo-floss/activesupport-logger/wiki
421
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
422
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
423
+ [👽dl-rank]: https://clickgems.clickhouse.com/dashboard/activesupport-logger
424
+ [👽dl-ranki]: https://img.shields.io/gem/dt/activesupport-logger.svg
425
+ [👽version]: https://clickgems.clickhouse.com/dashboard/activesupport-logger
426
+ [👽versioni]: https://img.shields.io/gem/v/activesupport-logger.svg
427
+ [🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger
428
+ [🏀qlty-mnti]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger/maintainability.svg
429
+ [🏀qlty-cov]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger/metrics/code?sort=coverageRating
430
+ [🏀qlty-covi]: https://qlty.sh/gh/galtzo-floss/projects/activesupport-logger/coverage.svg
431
+ [🏀codecov]: https://codecov.io/gh/galtzo-floss/activesupport-logger
432
+ [🏀codecovi]: https://codecov.io/gh/galtzo-floss/activesupport-logger/graph/badge.svg
433
+ [🏀coveralls]: https://coveralls.io/github/galtzo-floss/activesupport-logger?branch=main
434
+ [🏀coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/activesupport-logger/badge.svg?branch=main
435
+ [🚎ruby-3.1-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.1.yml
436
+ [🚎ruby-3.2-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.2.yml
437
+ [🚎ruby-3.3-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.3.yml
438
+ [🚎ruby-3.4-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/ruby-3.4.yml
439
+ [🚎jruby-9.4-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby-9.4.yml
440
+ [🚎jruby-10.0-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby-10.0.yml
441
+ [🚎truby-23.1-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-23.1.yml
442
+ [🚎truby-24.2-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-24.2.yml
443
+ [🚎truby-25.0-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-25.0.yml
444
+ [🚎truby-33.0-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffleruby-33.0.yml
445
+ [🚎2-cov-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/coverage.yml
446
+ [🚎2-cov-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/coverage.yml/badge.svg
447
+ [🚎3-hd-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/heads.yml
448
+ [🚎3-hd-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/heads.yml/badge.svg
449
+ [🚎5-st-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/style.yml
450
+ [🚎5-st-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/style.yml/badge.svg
451
+ [🚎9-t-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffle.yml
452
+ [🚎9-t-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/truffle.yml/badge.svg
453
+ [🚎10-j-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby.yml
454
+ [🚎10-j-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/jruby.yml/badge.svg
455
+ [🚎11-c-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/current.yml
456
+ [🚎11-c-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/current.yml/badge.svg
457
+ [🚎12-crh-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/dep-heads.yml
458
+ [🚎12-crh-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/dep-heads.yml/badge.svg
459
+ [🚎13-🔒️-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/locked_deps.yml
460
+ [🚎13-🔒️-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/locked_deps.yml/badge.svg
461
+ [🚎14-🔓️-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/unlocked_deps.yml
462
+ [🚎14-🔓️-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/unlocked_deps.yml/badge.svg
463
+ [🚎15-🪪-wf]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/license-eye.yml
464
+ [🚎15-🪪-wfi]: https://github.com/galtzo-floss/activesupport-logger/actions/workflows/license-eye.yml/badge.svg
465
+ [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
466
+ [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
467
+ [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
468
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
469
+ [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
470
+ [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
471
+ [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
472
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
473
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
474
+ [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
475
+ [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
476
+ [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
477
+ [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
478
+ [💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
479
+ [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
480
+ [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
481
+ [🤝gh-issues]: https://github.com/galtzo-floss/activesupport-logger/issues
482
+ [🤝gh-pulls]: https://github.com/galtzo-floss/activesupport-logger/pulls
483
+ [🤝gl-issues]: https://gitlab.com/galtzo-floss/activesupport-logger/-/issues
484
+ [🤝gl-pulls]: https://gitlab.com/galtzo-floss/activesupport-logger/-/merge_requests
485
+ [🤝cb-issues]: https://codeberg.org/galtzo-floss/activesupport-logger/issues
486
+ [🤝cb-pulls]: https://codeberg.org/galtzo-floss/activesupport-logger/pulls
487
+ [🤝cb-donate]: https://donate.codeberg.org/
488
+ [🤝contributing]: https://github.com/galtzo-floss/activesupport-logger/blob/main/CONTRIBUTING.md
489
+ [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/activesupport-logger/graph/badge.svg
490
+ [🖐contrib-rocks]: https://contrib.rocks
491
+ [🖐contributors]: https://github.com/galtzo-floss/activesupport-logger/graphs/contributors
492
+ [🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/activesupport-logger
493
+ [🚎contributors-gl]: https://gitlab.com/galtzo-floss/activesupport-logger/-/graphs/main
494
+ [🪇conduct]: https://github.com/galtzo-floss/activesupport-logger/blob/main/CODE_OF_CONDUCT.md
495
+ [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
496
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
497
+ [📌semver]: https://semver.org/spec/v2.0.0.html
498
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
499
+ [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
500
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
501
+ [📌changelog]: https://github.com/galtzo-floss/activesupport-logger/blob/main/CHANGELOG.md
502
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
503
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
504
+ [📌gitmoji]: https://gitmoji.dev
505
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
506
+ [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
507
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.122-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
508
+ [🔐security]: https://github.com/galtzo-floss/activesupport-logger/blob/main/SECURITY.md
509
+ [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
510
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
511
+ [📄license]: LICENSE.md
512
+ [📄license-ref]: https://github.com/galtzo-floss/activesupport-logger/blob/main/MIT.md
513
+ [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
514
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
515
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
516
+
517
+ [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
518
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
519
+ [🚎yard-current]: http://rubydoc.info/gems/activesupport-logger
520
+ [🚎yard-head]: https://activesupport-logger.galtzo.com
521
+ [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
522
+ [💎SHA_checksums]: https://gitlab.com/galtzo-floss/activesupport-logger/-/tree/main/checksums
523
+ [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
524
+ [💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
525
+ [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
526
+ [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
527
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
528
+
529
+ <!-- kettle-jem:metadata:start -->
530
+ | Field | Value |
531
+ |---|---|
532
+ | Package | activesupport-logger |
533
+ | Description | 💎 Rails v8 ActiveSupport::Logger backported to Rails v5.2+ & Ruby 3.1+ |
534
+ | Homepage | https://github.com/galtzo-floss/activesupport-logger |
535
+ | Source | https://github.com/galtzo-floss/activesupport-logger |
536
+ | License | `MIT` |
537
+ | 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 |
538
+ <!-- kettle-jem:metadata:end -->