Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here

logster

Log viewer UI and framework for rack

Subscribe to updates I use logster


Statistics on logster

Number of watchers on Github 222
Number of open issues 6
Average time to close an issue 5 months
Main language Ruby
Average time to merge a PR 2 days
Open pull requests 1+
Closed pull requests 4+
Last commit over 2 years ago
Repo Created about 6 years ago
Repo Last Updated over 2 years ago
Size 5.86 MB
Organization / Authordiscourse
Contributors14
Page Updated
Do you use logster? Leave a review!
View open issues (6)
View logster activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating logster for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

logster logo

Logster is an embedded Ruby exception reporting service admins can view on live websites, at http://example.com/logs

Interface

Screenshot

Play with a live demo at logster.info/logs.

Installation

Add these lines to your application's Gemfile:

gem 'redis'
gem 'logster'

And then execute:

$ bundle

Make logster web available add the following to your routes.rb:

constraints lambda { |req| req.session["admin"] } do
  mount Logster::Web => "/logs"
end

By default, logster will only run in development and production environments.

To run logster in other environments, in config/application.rb

Logster.set_environments([:development, :staging, :production])

Tracking Error Rate

Logster allows you to register a callback when the rate of errors has exceeded a given limit.

Tracking buckets available are one minute and an hour.

Example:

Logster.register_rate_limit_per_minute(Logger::WARN, 60) do |rate|
  puts "O no! The error rate is now #{rate} errors/min"
end

Logster.register_rate_limit_per_hour([Logger::WARN, Logger::ERROR, Logger::FATAL], 60) do |rate|
  puts "O no! The error rate is now #{rate} errors/hour"
end

Note

If you are seeing the error No such middleware to insert before: ActionDispatch::DebugExceptions after installing logster, then you are using a conflicting gem like better_errors or web-console.

To avoid this error, make sure logster is added behind those conflicting gems in your Gemfile.

Mount using warden (devise)

  admin_constraint = lambda do |request|
    request.env['warden'].authenticate? and request.env['warden'].user.admin?
  end

  constraints admin_constraint do
    mount Logster::Web, at: "/logs"
  end

Out of the box, logster will use the default redis connection, to customise, in config/application.rb

Logster.store = Logster::RedisStore.new(redis_connection)

Heroku Deployment

In case you may be using the rails_12factor gem in a production deployment on Heroku, the standard Rails.logger will not cooperate properly with Logster. Extend Rails.logger in your config/application.rb or config/initializers/logster.rb with:

if Rails.env.production?
    Rails.logger.extend(ActiveSupport::Logger.broadcast(Logster.logger))
end

Thanks

Logster UI is built using Ember.js

Contributing

  1. Fork it ( https://github.com/discourse/logster/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request
logster open issues Ask a question     (View All Issues)
  • almost 4 years stack level too deep (SystemStackError)
  • about 4 years Multiple NoMethodErrors in Rails 5 with quiet assets
  • over 4 years Specify key namespace in Redis connection
  • over 4 years Unable to use Logster with https://github.com/lulalala/multi_logger
  • over 4 years Unable to set environments in application.rb
  • almost 5 years logster only works on /logs path
logster open pull requests (View All Pulls)
  • added example to configure Redis key namespace
logster questions on Stackoverflow (View All Questions)
  • How to add a custom parser to logster?
logster list of languages used
Other projects in Ruby