error_logger_mon.erl 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. %%% A gen_server to check if we get any error_logger messages during test to see if
  2. %%% any messages gets generated when they shouldn't
  3. -module(error_logger_mon).
  4. -behaviour(gen_server).
  5. -define(SERVER, ?MODULE).
  6. -record(state, {count = 0 :: integer()}).
  7. %% ------------------------------------------------------------------
  8. %% API Function Exports
  9. %% ------------------------------------------------------------------
  10. %% gen_server
  11. -export([start_link/0,
  12. report/0,
  13. get_msg_count/0,
  14. stop/0
  15. ]).
  16. -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  17. terminate/2, code_change/3]).
  18. %% ------------------------------------------------------------------
  19. %% API Function Definitions
  20. %% ------------------------------------------------------------------
  21. start_link() ->
  22. gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  23. report() ->
  24. gen_server:call(?SERVER, report).
  25. get_msg_count() ->
  26. gen_server:call(?SERVER, get_count).
  27. stop() ->
  28. gen_server:call(?SERVER, stop).
  29. %% ------------------------------------------------------------------
  30. %% gen_server Function Definitions
  31. %% ------------------------------------------------------------------
  32. init([]) ->
  33. {ok, #state{}}.
  34. handle_call(get_count, _From, #state{count = C} = State) ->
  35. {reply, C, State};
  36. handle_call(report, _From, #state{count = C} = State) ->
  37. {reply, ok, State#state{count = C+1}};
  38. handle_call(stop, _From, State) ->
  39. {stop, normal, ok, State};
  40. handle_call(_Request, _From, State) ->
  41. {reply, error, State}.
  42. handle_cast(_Msg, State) ->
  43. {noreply, State}.
  44. handle_info(_Info, State) ->
  45. {noreply, State}.
  46. terminate(_Reason, _State) ->
  47. ok.
  48. code_change(_OldVsn, State, _Extra) ->
  49. {ok, State}.