anchor.diff:                              {ok, _} ->
                                   false;
                               Exception ->
  -                                io:format("thrift Client:~p  exception:~p ~n", [Client, Exception]),
  +                                case LogException of
  +                                    true ->
  +                                        io:format("thrift Client:~p  exception:~p ~n", [Client, Exception]);
  +                                    false ->
  +                                        ignore
  +                                end,
                                   {true, Client}
                           end
                   end, Clients),
   case Ret == [] of
       true ->
  -        io:format("every client is all right ~p ~n", [erlang:length(Clients)]);
  +        io:format("Node:~p every client is all right ~p ~n", [node(), erlang:length(Clients)]);
       false ->
  -        io:format("there are ~p all clients is ~p ~n", [erlang:length(Ret), erlang:length(Clients)])
  +        io:format("Node:~p there are ~p all clients is ~p ~n", [node(), erlang:length(Ret), erlang:length(Clients)])
   end,
   ok.
  
positive.code: % e.g.: ./erl_expect -sname ejabberd@sdb-ali-hangzhou-ejabberd3 -setcookie 'LTBEXKHWOCIRRSEUNSYS' common/ping_thrift.erl
  
  echo(off),
  
  PoolSize = extauth_rpc:extauth_opts(<<"easemob.com">>, pool_size),
  Processes =
  
negative.code:                   gen_mod:get_module_proc(iolist_to_binary([<<"easemob.com">>, integer_to_list(Index)]), eauth)
            end, lists:seq(0,PoolSize - 1)),
  
  UserAuth = {'UserAuth',{'EID',<<"easemob-demo#chatdemoui">>,<<"mt001">>},<<"asd">>,undefined},
  Clients =
  lists:flatmap(fun(P) ->
                        {_, _, Workers, _} = sys:get_state(whereis(P)),
  