https://github.com/steveklabnik/mono_logger
A lock-free logger for Ruby 2.0
https://github.com/steveklabnik/mono_logger
Keywords from Contributors
rubygems activejob activerecord mvc asynchronous-tasks asynctask background-jobs background-service background-worker job-management
Last synced: 1 day ago
JSON representation
Repository metadata
A lock-free logger for Ruby 2.0
- Host: GitHub
- URL: https://github.com/steveklabnik/mono_logger
- Owner: steveklabnik
- License: mit
- Created: 2013-03-20T04:56:11.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2023-04-06T17:19:11.000Z (about 3 years ago)
- Last Synced: 2026-03-06T01:52:35.805Z (about 2 months ago)
- Language: Ruby
- Homepage: https://github.com/steveklabnik/mono_logger
- Size: 28.3 KB
- Stars: 105
- Watchers: 4
- Forks: 8
- Open Issues: 1
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
README.md
MonoLogger
Ruby's stdlib Logger wraps all IO in mutexes. Ruby 2.0 doesn't allow you to
request a lock in a trap handler because that could deadlock. This gem fixes
this issue by giving you a lock-free logger class.
If you've ever seen log writing failed. can't be called from trap context,
you're in the right place!
Installation
Add this line to your application's Gemfile:
gem 'mono_logger'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mono_logger
Usage
It's simple, just use MonoLogger anywhere you'd use Logger:
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::WARN
logger.debug("Created logger")
logger.info("Program started")
logger.warn("Nothing to do!")
Turns into
require 'mono_logger'
logger = MonoLogger.new(STDOUT)
logger.level = MonoLogger::WARN
logger.debug("Created logger")
logger.info("Program started")
logger.warn("Nothing to do!")
That's it! No more errors!
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
License
MIT. See LICENSE.txt for more details.
Owner metadata
- Name: Steve Klabnik
- Login: steveklabnik
- Email: steve@steveklabnik.com
- Kind: user
- Description: Rust, jj, other things
- Website: http://steveklabnik.com
- Location: Austin, TX
- Twitter:
- Company: East River Source Control
- Icon url: https://avatars.githubusercontent.com/u/27786?u=5af723f67163593cc930a745f73a64a3b1e150e3&v=4
- Repositories: 843
- Last ynced at: 2026-01-31T18:14:38.279Z
- Profile URL: https://github.com/steveklabnik
GitHub Events
Total
Last Year
Committers metadata
Last synced: 2 days ago
Total Commits: 25
Total Committers: 5
Avg Commits per committer: 5.0
Development Distribution Score (DDS): 0.48
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Steve Klabnik | s****e@s****m | 13 |
| Sam Bostock | s****k@s****m | 4 |
| Jun Aruga | j****a@r****m | 4 |
| Ken Dreyer | k****r@k****m | 3 |
| Joshua Burke | D****r | 1 |
Committer domains:
- ktdreyer.com: 1
- redhat.com: 1
- shopify.com: 1
- steveklabnik.com: 1
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 7
Total pull requests: 6
Average time to close issues: 4 months
Average time to close pull requests: 6 months
Total issue authors: 5
Total pull request authors: 4
Average comments per issue: 4.0
Average comments per pull request: 6.0
Merged pull request: 5
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- junaruga (3)
- jstorimer (1)
- balasankarc (1)
- st0012 (1)
- mperham (1)
Top Pull Request Authors
- junaruga (3)
- sambostock (1)
- Dangeranger (1)
- ktdreyer (1)
Top Issue Labels
Top Pull Request Labels
Package metadata
- Total packages: 12
-
Total downloads:
- rubygems: 102,046,804 total
- Total docker downloads: 889,820
- Total dependent packages: 35 (may contain duplicates)
- Total dependent repositories: 4,732 (may contain duplicates)
- Total versions: 20
- Total maintainers: 1
gem.coop: mono_logger
A lock-free logger compatible with Ruby 2.0. Ruby does not allow you to request a lock in a trap handler because that could deadlock, so Logger is not sufficient.
- Homepage: http://github.com/steveklabnik/mono_logger
- Documentation: http://www.rubydoc.info/gems/mono_logger/
- Licenses: MIT
- Latest release: 1.1.2 (published about 3 years ago)
- Last Synced: 2026-04-28T03:31:48.263Z (3 days ago)
- Versions: 5
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 51,037,603 Total
- Docker Downloads: 444,910
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 0.504%
- Downloads: 0.517%
- Docker downloads count: 1.497%
- Maintainers (1)
rubygems.org: mono_logger
A lock-free logger compatible with Ruby 2.0. Ruby does not allow you to request a lock in a trap handler because that could deadlock, so Logger is not sufficient.
- Homepage: http://github.com/steveklabnik/mono_logger
- Documentation: http://www.rubydoc.info/gems/mono_logger/
- Licenses: MIT
- Latest release: 1.1.2 (published about 3 years ago)
- Last Synced: 2026-04-27T00:00:43.154Z (4 days ago)
- Versions: 5
- Dependent Packages: 35
- Dependent Repositories: 4,732
- Downloads: 51,009,201 Total
- Docker Downloads: 444,910
-
Rankings:
- Dependent repos count: 0.459%
- Downloads: 0.482%
- Dependent packages count: 0.728%
- Docker downloads count: 1.694%
- Average: 3.059%
- Stargazers count: 5.313%
- Forks count: 9.679%
- Maintainers (1)
debian-11: ruby-mono-logger
- Homepage: http://github.com/steveklabnik/mono_logger
- Documentation: https://packages.debian.org/bullseye/ruby-mono-logger
- Licenses:
- Latest release: 1.1.0-3.1 (published 3 months ago)
- Last Synced: 2026-03-13T08:29:47.183Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-23.10: ruby-mono-logger
- Homepage: https://github.com/steveklabnik/mono_logger
- Licenses:
- Latest release: 1.1.1-2 (published 3 months ago)
- Last Synced: 2026-03-13T19:24:01.465Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-10: ruby-mono-logger
- Homepage: http://github.com/steveklabnik/mono_logger
- Documentation: https://packages.debian.org/buster/ruby-mono-logger
- Licenses:
- Latest release: 1.1.0-3 (published 3 months ago)
- Last Synced: 2026-03-13T19:04:46.946Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-20.04: ruby-mono-logger
- Homepage: http://github.com/steveklabnik/mono_logger
- Licenses:
- Latest release: 1.1.0-3 (published 3 months ago)
- Last Synced: 2026-03-13T13:26:49.739Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-23.04: ruby-mono-logger
- Homepage: https://github.com/steveklabnik/mono_logger
- Licenses:
- Latest release: 1.1.1-2 (published 3 months ago)
- Last Synced: 2026-03-11T18:35:07.838Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-24.10: ruby-mono-logger
- Homepage: https://github.com/steveklabnik/mono_logger
- Licenses:
- Latest release: 1.1.1-2 (published 3 months ago)
- Last Synced: 2026-03-09T17:07:17.656Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-22.04: ruby-mono-logger
- Homepage: https://github.com/steveklabnik/mono_logger
- Licenses:
- Latest release: 1.1.1-1 (published 3 months ago)
- Last Synced: 2026-03-13T22:39:04.758Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-13: ruby-mono-logger
- Homepage: https://github.com/steveklabnik/mono_logger
- Documentation: https://packages.debian.org/trixie/ruby-mono-logger
- Licenses: mit
- Latest release: 1.1.2-1 (published 3 months ago)
- Last Synced: 2026-03-14T15:02:43.908Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-12: ruby-mono-logger
- Homepage: https://github.com/steveklabnik/mono_logger
- Documentation: https://packages.debian.org/bookworm/ruby-mono-logger
- Licenses:
- Latest release: 1.1.1-2 (published 3 months ago)
- Last Synced: 2026-03-13T04:21:16.026Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
Dependencies
- coveralls >= 0
- logger-application >= 0
- minitest ~> 5.0 development
- rake >= 0 development
- actions/checkout v2 composite
- ruby/setup-ruby v1 composite
Score: 24.722548760508612

