rewrite from lager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 regels
1.5 KiB

4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
  1. -module(rumMsg).
  2. -include("eRum.hrl").
  3. -export([new/4, new/5]).
  4. -export([message/1]).
  5. -export([timestamp/1]).
  6. -export([datetime/1]).
  7. -export([severity/1]).
  8. -export([severity_as_int/1]).
  9. -export([metadata/1]).
  10. -export([destinations/1]).
  11. -opaque rumMsg() :: #rumMsg{}.
  12. -export_type([rumMsg/0]).
  13. %% create with provided timestamp, handy for testing mostly
  14. -spec new(list(), erlang:timestamp(), rumLevel(), [tuple()], list()) -> rumMsg().
  15. new(Msg, Timestamp, Severity, Metadata, Destinations) ->
  16. {Date, Time} = rumUtil:format_time(rumUtil:maybe_utc(rumUtil:localtime_ms(Timestamp))),
  17. #rumMsg{message = Msg, datetime = {Date, Time}, timestamp = Timestamp, severity = Severity,
  18. metadata = Metadata, destinations = Destinations}.
  19. -spec new(list(), rumLevel(), [tuple()], list()) -> rumMsg().
  20. new(Msg, Severity, Metadata, Destinations) ->
  21. Now = os:timestamp(),
  22. new(Msg, Now, Severity, Metadata, Destinations).
  23. -spec message(rumMsg()) -> list().
  24. message(Msg) ->
  25. Msg#rumMsg.message.
  26. -spec timestamp(rumMsg()) -> erlang:timestamp().
  27. timestamp(Msg) ->
  28. Msg#rumMsg.timestamp.
  29. -spec datetime(rumMsg()) -> {string(), string()}.
  30. datetime(Msg) ->
  31. Msg#rumMsg.datetime.
  32. -spec severity(rumMsg()) -> rumLevel().
  33. severity(Msg) ->
  34. Msg#rumMsg.severity.
  35. -spec severity_as_int(rumMsg()) -> rumLevelNum().
  36. severity_as_int(Msg) ->
  37. rumUtil:levelToNum(Msg#rumMsg.severity).
  38. -spec metadata(rumMsg()) -> [tuple()].
  39. metadata(Msg) ->
  40. Msg#rumMsg.metadata.
  41. -spec destinations(rumMsg()) -> list().
  42. destinations(Msg) ->
  43. Msg#rumMsg.destinations.