|
|
- -module(rumMsg).
-
- -include("eRum.hrl").
-
- -export([new/4, new/5]).
- -export([message/1]).
- -export([timestamp/1]).
- -export([datetime/1]).
- -export([severity/1]).
- -export([severity_as_int/1]).
- -export([metadata/1]).
- -export([destinations/1]).
-
- -opaque rumMsg() :: #rumMsg{}.
- -export_type([rumMsg/0]).
-
- %% create with provided timestamp, handy for testing mostly
- -spec new(list(), erlang:timestamp(), rumLevel(), [tuple()], list()) -> rumMsg().
- new(Msg, Timestamp, Severity, Metadata, Destinations) ->
- {Date, Time} = rumUtil:format_time(rumUtil:maybe_utc(rumUtil:localtime_ms(Timestamp))),
- #rumMsg{message = Msg, datetime = {Date, Time}, timestamp = Timestamp, severity = Severity,
- metadata = Metadata, destinations = Destinations}.
-
- -spec new(list(), rumLevel(), [tuple()], list()) -> rumMsg().
- new(Msg, Severity, Metadata, Destinations) ->
- Now = os:timestamp(),
- new(Msg, Now, Severity, Metadata, Destinations).
-
- -spec message(rumMsg()) -> list().
- message(Msg) ->
- Msg#rumMsg.message.
-
- -spec timestamp(rumMsg()) -> erlang:timestamp().
- timestamp(Msg) ->
- Msg#rumMsg.timestamp.
-
- -spec datetime(rumMsg()) -> {string(), string()}.
- datetime(Msg) ->
- Msg#rumMsg.datetime.
-
- -spec severity(rumMsg()) -> rumLevel().
- severity(Msg) ->
- Msg#rumMsg.severity.
-
- -spec severity_as_int(rumMsg()) -> rumLevelNum().
- severity_as_int(Msg) ->
- rumUtil:levelToNum(Msg#rumMsg.severity).
-
- -spec metadata(rumMsg()) -> [tuple()].
- metadata(Msg) ->
- Msg#rumMsg.metadata.
-
- -spec destinations(rumMsg()) -> list().
- destinations(Msg) ->
- Msg#rumMsg.destinations.
-
-
|