Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomekw/sinatra-sane-logging
Logging with Sinatra for human beings
https://github.com/tomekw/sinatra-sane-logging
logging logging-library ruby ruby-gem sinatra
Last synced: about 1 month ago
JSON representation
Logging with Sinatra for human beings
- Host: GitHub
- URL: https://github.com/tomekw/sinatra-sane-logging
- Owner: tomekw
- License: mit
- Created: 2017-02-07T14:11:00.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-08T14:17:47.000Z (almost 8 years ago)
- Last Synced: 2024-05-09T13:51:29.843Z (6 months ago)
- Topics: logging, logging-library, ruby, ruby-gem, sinatra
- Language: Ruby
- Size: 11.7 KB
- Stars: 6
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# sinatra-sane-logging
[![Code Climate](https://codeclimate.com/github/tomekw/sinatra-sane-logging/badges/gpa.svg)](https://codeclimate.com/github/tomekw/sinatra-sane-logging) [![Gem Version](https://badge.fury.io/rb/sinatra-sane-logging.svg)](https://badge.fury.io/rb/sinatra-sane-logging) [![CircleCI](https://circleci.com/gh/tomekw/sinatra-sane-logging.svg?style=svg)](https://circleci.com/gh/tomekw/sinatra-sane-logging)
Sinatra logging for human beings.
It allows to set both Rack, error and application logger.
It uses `Rack::Commonlogger` under the hood so the logger has to respond to:
* `<<(message)`
* `puts(message)`
* `flush`## Installation
Add this line to your application's Gemfile:
```ruby
gem "sinatra-sane-logging", require: "sinatra/sane_logging"
```And then execute:
$ bundle
Or install it yourself as:
$ gem install sinatra-sane-logging
## Usage
```ruby
require "logger"
require "sinatra/base"
require "sinatra/sane_logging"class FileLogger < Logger
def flush; end
endclass App < Sinatra::Base
register Sinatra::SaneLoggingsane_logging logger: Filelogger.new(File.open("log/app.log", "a+").tap { |log_file| log_file.sync = true })
get "/" do
logger.info "OK""OK"
end
end
```## Development
Build the Docker image:
$ docker-compose build
Create services:
$ docker-compose create
Run specs:
$ docker-compose run --rm app rspec spec
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/tomekw/sinatra-sane-logging. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).