This repository has been archived by the owner on Dec 8, 2020. It is now read-only.
Releases: vectordotdev/timber-elixir
Releases · vectordotdev/timber-elixir
3.1.0 - 2019-02-25
Changed
Timber.InvalidAPIKeyError
is nowTimber.Errors.InvalidAPIKeyError
- Events are no longer nested under the
event
key. - Custom events are no longer nested under the
event.custom
key, they have simply been moved
to the root of the document. - Custom contexts are no longer nested under the
context.custom
key, they have simply been
moved to the root of the document. - JSON representations of log events no longer include the
$schema
key since Timber 2.0
does not strictly require a schema anymore. - All
Timber.Events.*
andTimber.Contexts.*
structs have been deprecated in favor of
simple maps since Timber 2.0 no longer requires a strict schema. Module docs for each
module has been updated accordingly. - Errors are no longer automatically parsed in the logger backend. Please use the
:timber_exceptions
library if you'd
like to structure errors. This is a proper approach to structuring these events. - Handle unencodable content
3.0.0 - 2018-12-20
Changed
- Jason is now used for JSON encoding. The
JSON library can no longer be injected via configuration. msgpax
1.x is no longer supported- Logs are now sent in batches of 1000 instead of 5000 to comply with the
Timber library specification Timber.LoggerBackends.HTTP.TimberAPIKeyInvalid
is nowTimber.InvalidAPIKeyError
Removed
- Removed support for Elixir 1.3 and lower
- Removed integration with Phoenix; use the
:timber_phoenix
package instead - Removed integration with Plug; use the
:timber_plug
package instead - Removed integration with Ecto; use the
:timber_ecto
package instead - Removed integration with ExAws
- Removed integration with
:error_logger
; use the
:timber_exceptions
package
instead - Removed the installer (
mix timber.install
); manual installation is now
expected - Removed the test event Mix task
2.8.4 - 2018-08-14
Fixed
- The hostname caching released in v2.8.3 had the potential to crash the Logger if an application was started between
:logger
and:timber
and made Logger calls. This was because the ETS table holding the cache had not been started by Timber yet. To fix this, the hostname is now cached in the application environment which is guaranteed to be available by that point.
2.8.3 - 2018-08-13
Changed
- The system hostname is now cached after it is fetched the first time.
Previously, the hostname was fetched every time a log line was formatted for
output (whether by formatting occured in the console formatter or during
HTTP transport). This reduces the overhead caused by fetching the hostname.
2.8.2 - 2018-07-01
Changed
- Allow
~> 2.0
for the:msgpax
dependency.
2.8.1 - 2018-06-07
Added
- Add support for inline context via the
:context
Logger
metadata key. - Add
Timber.remove_context_key
for removing an individual keys off of context structures.
Changed
- Relax the
:plug
dependency to allow for more plug versions.
2.8.0 - 2018-04-16
Special thanks in this release to @mitchellhenke for his work on the :error_logger
integration!
Added
Timber.Integrations.ErrorLogger
allows you to include a new OTP:error\_logger
handler to better maintain the structure of errors and stacktraces. It also collapses many cases of multi-line logs into a single line.
2.7.0 - 2018-03-22
Added
Timber.add_context/2
now allows you to set context either locally or globally;
Timber.add_context/1
will default to storing the context locally (consistent
with previous versions of the library)- The
Timber.LocalContext
now manages setting and updating the Timber context
maintained in the Elixir Logger metadata. This replaces theTimber.CurrentContext
module.Timber.LocalContext.get/0
should be used where
Timber.CurrentContext.load/0
was used before, andTimber.LocalContext.put/1
should be used whereTimber.CurrentContext.save/1
was used.
Changed
Timber.LogEntry.new/4
will fetch the global context and merge it into the
local metadata context. The local context will override the global context
based on the rules forTimber.Context.merge/2
- Phoenix Channels integration will now accept any channel message payload.
(Previously, non-map types were dropped and replaced with an empty map.)
Deprecated
Timber.CurrentContext
has been deprecated in favor ofTimber.LocalContext
;
the new name better reflects the purpose of the module. Use of
Timber.CurrentContext
will still be supported for the lifetime of v2
Fixed
- Phoenix Channels integration with Phoneix 1.3+ will no longer fail if the
payload of a channel message is a list
2.6.1 - 2017-10-02
Fixed
-
Fixed an error where
Timber.Integrations.PhoenixInstrumenter
would fail on versions of Phoenix prior to 1.3 that do not pass a:conn
key with thephoenix_controller_render/3
:start
event. -
Fixed
Timber.Integrations.PhoenixInstrumenter
did not define a fall-through forphoenix_controller_render/3
during the:start
event for when the third-parameter is in a different format than expected. -
Fixed
Timber.Integrations.PhoenixInstrumenter
did not define a fall-through when the instrumentation system sends a default state value for the:stop
event onphoenix_controller_render/3
.
2.6.0 - 2017-09-28
Changed
- Logger backends now conform to the
:gen_event
behaviour rather than calling theGenEvent.__using__/1
macro which is deprecated in Elixir 1.5.0 and above. The change is backwards compatible since:gen_event
is provided by all supported versions of Erlang.