Class: Hanami::Logger
- Inherits:
-
Logger
- Object
- Logger
- Hanami::Logger
- Defined in:
- gems/gems/hanami-utils-1.3.3/lib/hanami/logger.rb,
gems/gems/hanami-utils-1.3.3/lib/hanami/logger/filter.rb,
gems/gems/hanami-utils-1.3.3/lib/hanami/logger/colorizer.rb,
gems/gems/hanami-utils-1.3.3/lib/hanami/logger/formatter.rb,
gems/gems/hanami-utils-1.3.8/lib/hanami/logger/filter.rb,
gems/gems/hanami-utils-1.3.8/lib/hanami/logger/colorizer.rb,
gems/gems/hanami-utils-1.3.8/lib/hanami/logger/formatter.rb,
gems/gems/hanami-utils-1.3.8/lib/hanami/logger.rb
Overview
Hanami logger
Implementation with the same interface of Ruby std lib Logger
. It uses STDOUT
, STDERR
, file name or open file as output stream.
When a Hanami application is initialized, it creates a logger for that specific application. For instance for a Bookshelf::Application
a Bookshelf::Logger
will be available.
This is useful for auto-tagging the output. Eg (app=Booshelf
).
When used standalone (eg. Hanami::Logger.info
), it tags lines with app=Shared
.
The available severity levels are the same of Logger
:
-
DEBUG
-
INFO
-
WARN
-
ERROR
-
FATAL
-
UNKNOWN
Those levels are available both as class and instance methods.
Also Hanami::Logger supports different formatters. Now available only two:
-
Formatter (default)
-
JSONFormatter
And if you want to use custom formatter you need create new class inherited from Formatter
class and define _format
private method like this:
class CustomFormatter < Formatter
private
def _format(hash)
# ...
end
end