Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/janlelis/micrologger

A minimal logger based on MicroEvent.rb
https://github.com/janlelis/micrologger

logger logging microevent ruby

Last synced: 2 months ago
JSON representation

A minimal logger based on MicroEvent.rb

Awesome Lists containing this project

README

        

# MicroLogger [![[version]](https://badge.fury.io/rb/microevent.svg)](https://badge.fury.io/rb/microevent) [![[CI]](https://github.com/janlelis/micrologger/workflows/Test/badge.svg)](https://github.com/janlelis/micrologger/actions?query=workflow%3ATest)

A minimal logger based on [MicroEvent](https://github.com/janlelis/microevent.rb).

## Setup

Add to your `Gemfile`

```ruby
gem 'micrologger'
```

## How to Use It

A new logger has to be configured what should be done on log events using handler procs. There are two default handlers for logging to STDOUT/STDERR included:

```ruby
$logger = MicroLogger.new
$logger.register :info, :stdout
$logger.register :fatal, :stderr

$logger.log "debug" # STDOUT: debug
$logger.log "error", :fatal # STDERR: error
```

For any andvanced or customized behaviour, you will need to register your own blocks/procs:

### Example: Log to File

```ruby
$logger = MicroLogger.new
$logger.register :warn, :stderr
$logger.register :warn do |message, meta|
File.open("logfile.#{meta[:level]}.txt", "a"){ |f| f.puts "#{meta[:time]} | #{message}" }
end

$logger.log "hey", :warn # Will write to STDERR and logfile.warn.txt
```

Other ideas you could do: Send data to a remote endpoint, send emails, send to analytics...

## J-_-L

Copyright (c) 2015 [Jan Lelis](https://janlelis.com). See MIT-LICENSE for details.