Packages
timber
2.1.6
3.1.2
3.1.1
3.1.0
3.0.0
3.0.0-alpha.3
3.0.0-alpha.2
3.0.0-alpha.1
2.8.4
2.8.3
2.8.2
2.8.1
2.8.0
2.7.0
2.6.1
2.6.0
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.1
2.3.0
2.2.1
2.2.0
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
2.0.0-rc7
2.0.0-rc6
2.0.0-rc5
2.0.0-rc4
2.0.0-rc3
2.0.0-rc2
2.0.0-rc1
1.1.18
1.1.17
1.1.16
1.1.15
1.1.14
1.1.13
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
🌲 Great Elixir Logging Made Easy. Official Timber.io Integration.
Current section
Files
Jump to
Current section
Files
lib/timber/utils/logger.ex
defmodule Timber.Utils.Logger do
@moduledoc false
@doc """
Convenience function for using the metadata logger key specified in the configuration.
This is equivalent to:
## Examples
```elixir
metadata = Timber.Utils.Logger.event_to_metadata(event)
Logger.info("my message", metadata)
```
"""
@spec event_to_metadata(Timber.Event.t) :: Keyword.t
def event_to_metadata(event) do
Keyword.put([], Timber.Config.event_key(), event)
end
@spec get_event_from_metadata(Keyword.t) :: nil | Timber.Event.t
def get_event_from_metadata(metadata) do
Keyword.get(metadata, Timber.Config.event_key(), nil)
end
@doc """
Truncate a binary to the given length, taking into account the " (truncated)"
suffix that the Logger.Utils.truncate/1 method appends.
"""
@spec truncate(IO.chardata, pos_integer) :: IO.chardata
def truncate(message, limit) do
adjusted_limit = limit - 15 # takes into account the " (truncated)" string that the below function appends
do_truncate(message, adjusted_limit)
end
# Ensure that binaries return as binaries
defp do_truncate(binary, limit) when is_binary(binary) do
binary
|> Logger.Utils.truncate(limit)
|> to_string()
end
defp do_truncate(chardata, limit) do
Logger.Utils.truncate(chardata, limit)
end
end