View Source MetaLogger (MetaLogger v1.9.1)
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
@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
@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
@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
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"]
@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
@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