View Source MetaLogger (MetaLogger v1.7.0)

A logger wrapper to keep logger metadata of caller processes.

Summary

Functions

Logs a debug message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Logs a error message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Logs a info message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Logs a message with given level keeping logger metadata from caller processes.

Returns the logger metadata from the current process and caller processes.

Logs a warning message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Logs a warning message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Types

@type chardata_or_fun() :: IO.chardata() | String.Chars.t() | (any() -> any())
@type metadata() :: keyword()
@type payload() :: struct() | list() | chardata_or_fun()

Functions

Link to this function

debug(chardata_or_fun, metadata \\ [])

View Source
@spec debug(chardata_or_fun(), metadata()) :: :ok

Logs a debug message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Examples

iex> MetaLogger.debug("hello?")
:ok

iex> MetaLogger.debug(fn -> "dynamically calculated debug" end)
:ok

iex> MetaLogger.debug(fn ->
...>   {"dynamically calculated debug", [additional: :metadata]}
...> end)
:ok
Link to this function

error(chardata_or_fun, metadata \\ [])

View Source
@spec error(chardata_or_fun(), metadata()) :: :ok

Logs a error message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Examples

iex> MetaLogger.error("hello?")
:ok

iex> MetaLogger.error(fn -> "dynamically calculated debug" end)
:ok

iex> MetaLogger.error(fn ->
...>   {"dynamically calculated error", [additional: :metadata]}
...> end)
:ok
Link to this function

info(chardata_or_fun, metadata \\ [])

View Source
@spec info(chardata_or_fun(), metadata()) :: :ok

Logs a info message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Examples

iex> MetaLogger.info("hello?")
:ok

iex> MetaLogger.info(fn -> "dynamically calculated debug" end)
:ok

iex> MetaLogger.info(fn ->
...>   {"dynamically calculated info", [additional: :metadata]}
...> end)
:ok
Link to this function

log(level, payload, metadata \\ [])

View Source
@spec log(atom(), payload(), metadata()) :: :ok

Logs a message with given level keeping logger metadata from caller processes.

Can accept a custom struct if it implements MetaLogger.Formatter protocol.

Returns :ok or an {:error, reason} tuple.

Examples

iex> MetaLogger.log(:info, "mission accomplished")
:ok

iex> MetaLogger.log(:error, fn -> "dynamically calculated info" end)
:ok

iex> MetaLogger.log(:warning, fn ->
...>   {"dynamically calculated info", [additional: :metadata]}
...> end)
:ok
@spec metadata() :: metadata()

Returns the logger metadata from the current process and caller processes.

Examples

iex> MetaLogger.metadata()
[]

iex> MetaLogger.metadata()
[metadata1: "value2", metadata2: "value2"]
Link to this function

warn(chardata_or_fun, metadata \\ [])

View Source
This function is deprecated. Use MetaLogger.warning/2 instead..
@spec warn(chardata_or_fun(), metadata()) :: :ok

Logs a warning message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Examples

iex> MetaLogger.warn("hello?")
:ok

iex> MetaLogger.warn(fn -> "dynamically calculated debug" end)
:ok

iex> MetaLogger.warn(fn ->
...>   {"dynamically calculated warning", [additional: :metadata]}
...> end)
:ok
Link to this function

warning(chardata_or_fun, metadata \\ [])

View Source
@spec warning(chardata_or_fun(), metadata()) :: :ok

Logs a warning message keeping logger metadata from caller processes. Returns :ok or an {:error, reason} tuple.

Examples

iex> MetaLogger.warning("hello?")
:ok

iex> MetaLogger.warning(fn -> "dynamically calculated debug" end)
:ok

iex> MetaLogger.warning(fn ->
...>   {"dynamically calculated warning", [additional: :metadata]}
...> end)
:ok