anchor.diff:            warning/1,
             warning/2,
             info/1,
  -          info/2
  +          info/2,
  +          debug/1,
  +          debug/2
   ]).
   
   % TODO: Add calls to configure logging, i.e. to file, turn off tty, etc
  
positive.code: %%
  %% Log warning messages
  %%
  -spec warning(LogMsgId :: atom()) -> ok | {error, atom()}.
  
  warning(LogMsgId) ->
    gen_server:cast(?MODULE, {warning, LogMsgId}).
  
  
  -spec warning(LogMsgId :: atom(),
                Args :: list(term())) -> ok | {error, atom()}.
  
  warning(LogMsgId, Args) ->
    gen_server:cast(?MODULE, {warning, LogMsgId, Args}).
  
negative.code: %%
  %% Log info messages
  %%
  -spec info(LogMsgId :: atom()) -> ok.
  
  info(LogMsgId) ->
    gen_server:cast(?MODULE, {info, LogMsgId}).
  
  
  -spec info(LogMsgId :: atom(),
             Args :: list(term())) -> ok.
  
  info(LogMsgId, Args) ->
    gen_server:cast(?MODULE, {info, LogMsgId, Args}).
  
  %%
  %% Log debug messages
  %% For debugging purposes, don't use string map, just pass in string
  %%
  -spec debug(LogMsg :: string()) -> ok.
  
  debug(LogMsg) ->
    gen_server:cast(?MODULE, {debug, LogMsg}).
  
  
  -spec debug(LogMsg :: string(),
              Args :: list(term())) -> ok.
  
  debug(LogMsg, Args) ->
    gen_server:cast(?MODULE, {debug, LogMsg, Args}).
  
  
  %% ====================================================================
  