anchor.diff:  populate_token_drain_data([Drain|Tail]) when is_record(Drain, drain) ->
       case ets:match_object(tokens, #token{id='_', channel_id=Drain#drain.channel_id, name='_', app_id='_', addon='_', drains='_'}) of
           [] ->
  -            error_logger:error_report([?MODULE, populate_token_drain_data, undefined_tokens, Drain]);
  +            error_logger:error_msg("~p ~p ~p ~p~n", [?MODULE, populate_token_drain_data, undefined_tokens, Drain]);
           Tokens ->
               Drain1 = Drain#drain{resolved_host=logplex_utils:resolve_host(Drain#drain.host)},
               ets:insert(tokens, [Token#token{drains=[Drain1|Drains]} || #token{drains=Drains}=Token <- Tokens])
  
positive.code: create_token(Id, Dict) ->
      case dict_find(<<"ch">>, Dict) of
          undefined ->
              error_logger:error_report([?MODULE, create_token, missing_ch, Id, dict:to_list(Dict)]);
          Val1 ->
              Ch = list_to_integer(binary_to_list(Val1)),
              Name = dict_find(<<"name">>, Dict), 
  
negative.code: create_channel(Id, Dict) ->
      case dict_find(<<"app_id">>, Dict) of
          undefined ->
              error_logger:error_msg("~p ~p ~p ~p ~p~n", [?MODULE, create_channel, missing_app_id, Id, dict:to_list(Dict)]);
          Val ->
              AppId = list_to_integer(binary_to_list(Val)),
              Channel = #channel{id=Id,
  