LogTimer

If a service crashed silently, chances are, it does not write to its logs for a while. This gem checks a list of log files if they changed recently and alerts you if a file is older than the given limit.

Installation

$ gem install log_timer

Usage

When you run the gem for the first time, use the --init parameter to generate a basic example config. Then open ~/.log_timer.yml in your favorite editor (most likely vim) and add the (log) files you want to have checked.

When you run log_timer, it will check all files listed in the "files:" section and check their modification times. If a file is older than the specified limit, it will warn you with a message. This is not yet as useful as I would want to have it. So if you run log_timer --mail it will send a mail to you with the same info plus the last lines from the file (either 10 or, if specified, the number given with "tail:").

A cronjob might look like this:

0 * * * * log_timer --mail --quiet

The limit works with chronic_duration. Most likely you will need something like "30d" for 30 days or 24 hours ("24h").

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/CORE4/log_timer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.