- Railtie no longer tries to replace the asset logger when it is not present
-
Introduced the ability to filter backtraces
Example:
configuration.configure do |config| config.backtrace_filter '/applications/my_app/releases/current' => '[ROOT]' end
Will filter a backtrace line like:
/applications/my_app/releases/current/lib/example.rb:42:in `main'
Into:
[ROOT]/lib/example.rb:42:in `main'
- Fixed a bug where if you specified appender-specific log levels without
providing a default to fall back to a
SystemStackError
would be raised
- Added the ability to limit the number of lines of backtrace included by the
BacktraceFormatter
- Hatchet can be marshalled to YAML safely (thanks to @gstark)
- Log messages can be objects deferring to
to_s
(thanks to @gstark)
- Rails 4.0 compatibility
- Achieved a 4.0 GPA on Code * Climate
and resolved all warnings when running in
-w
mode
- Changed the middleware to insert itself before
Rails::Rack::Logger
for consistent behavior
- Added nested diagnostic context and Rack middleware to clear it between requests
The Hatchet::Message
constructor has been altered, going forward it will take
a Hash of arguments instead of fixed arguments. It is currently backwards
compatible but this will likely be dropped for 1.0.0 so it is advised you update
your libraries now.
This should only affect custom formatters which may want to take advantage of the nested diagnostic context which is now available anyway.
No changes from 0.0.20, just time for a minor version release.
- Added a
#thread_context
attribute to theSimpleFormatter
that isfalse
by default, but when set totrue
will output the context of the thread within messages in the same style as theStandardFormatter
- Changed core formatters to output an indented backtrace after a message when
an error is present, can be disabled via the formatter's
backtrace=
attribute
- Made the presence of a
formatter=
method on appenders optional
- Added the ability to pass an error along with your message
- Fixed the fallback logging if an appender raises an error whilst trying to log a message
- Ensured all logging calls truly do return
nil
rather than it just being part of the documented contract