anchor.diff:                         Info]);
           {log_collector, LoggerPid} ->
               TraceId = passed_state_trace_id(PState),
  -            send_log_msg(PState, LoggerPid, {log_info, Now, TraceId, FromPid, Info});
  +            case comm:is_local(LoggerPid) of
  +                true ->
  +                    % normalise names later...
  +                    FromPid1 = FromPid, ok;
  +                false ->
  +                    % normalise names now (non-local loggers cannot resolve them)
  +                    FromPid1 = normalize_pidinfo(FromPid),
  +                    ok
  +            end,
  +            send_log_msg(PState, LoggerPid, {log_info, Now, TraceId, FromPid1, Info});
           {proto_sched, LoggerPid} ->
               case Info of
                   {gc_on_done, Tag} ->
  
positive.code: -spec epidemic_reply_msg(passed_state(), anypid(), anypid(), comm:message()) ->
                                  gc_mpath_msg().
  epidemic_reply_msg(PState, FromPid, ToPid, Msg) ->
      {'$gen_component', trace_mpath, PState, FromPid, ToPid, Msg}.
  
  -spec log_send(passed_state(), anypid(), anypid(), comm:message(), local|global|local_after) -> DeliverAlsoDirectly :: boolean().
  log_send(PState, FromPid, ToPid, Msg, LocalOrGlobal) ->
  
negative.code: normalize_pidinfo(Pid) ->
      case is_pid(Pid) of
          true ->
              ?ASSERT(node(Pid) =:= node()),
              PidName = case pid_groups:group_and_name_of(Pid) of
                            failed -> no_pid_name;
                            Name -> Name
  