anchor.diff:      ok;
   
   handle({cmd, _Cmd, _Args}) ->
  -    ?ERR("cmd=~p args=~100p~n", [_Cmd, _Args]),
  +    ?ERR("cmd=~p args=~100p", [_Cmd, _Args]),
       ok;
   
   handle({error, closed}) ->
  -    ?ERR("msg=closed~n", []),
  +    ?ERR("msg=closed", []),
       exit({error, closed}),
       ok;
   
   handle(_Other) ->
  -    ?ERR("msg=~p~n", [_Other]),
  +    ?ERR("msg=~p", [_Other]),
       ok.
   
   %% Helper functions
   create_channel(Id, Dict) ->
       case dict_find(<<"app_id">>, Dict) of
           undefined ->
  -            ?ERR("~p ~p ~p ~p~n",
  +            ?ERR("~p ~p ~p ~p",
                    [create_channel, missing_app_id, Id, dict:to_list(Dict)]);
           Val ->
               AppId = list_to_integer(binary_to_list(Val)),
  
positive.code:     T = logplex_utils:empty_token(),
      case ets:match_object(tokens, T#token{channel_id=Drain#drain.channel_id}) of
          [] ->
              ?ERR("~p ~p ~p ~p~n",
                   [populate_token_drain_data, undefined_tokens, Drain]);
          Tokens ->
              Drain1 = Drain#drain{resolved_host=logplex_utils:resolve_host(Drain#drain.host)},
  
negative.code: create_drain(Id, Dict) ->
      case dict_find(<<"ch">>, Dict) of
          undefined ->
              ?ERR("~p ~p ~p ~p",
                   [create_drain, missing_ch, Id, dict:to_list(Dict)]);
          Val1 ->
              Ch = list_to_integer(binary_to_list(Val1)),
              case dict_find(<<"token">>, Dict) of
                  undefined ->
                      ?ERR("~p ~p ~p ~p",
                           [create_drain, missing_token, Id, dict:to_list(Dict)]);
                  Token ->
                      Host = dict_find(<<"host">>, Dict),
  