anchor.diff:      Timestamp = lager_util:format_time(Time),
       Msg = [["[", atom_to_list(Level), "] "],
           io_lib:format("~p@~p:~p:~p ", [Pid, Module, Function, Line]),
  -        string:strip(lists:flatten(io_lib:format(Format, Args)), right, $\n)],
  +        string_reduce(lager_trunc_io:format(Format, Args, 4096))],
       safe_notify(lager_util:level_to_num(Level), Timestamp, Msg).
   
   %% @doc Manually log a message into lager without using the parse transform.
  
positive.code: log(Level, Pid, Message) ->
      Timestamp = lager_util:format_time(),
      Msg = [["[", atom_to_list(Level), "] "], io_lib:format("~p ", [Pid]),
          string:strip(lists:flatten(Message), right, $\n)],
      safe_notify(lager_util:level_to_num(Level), Timestamp, Msg).
  
  %% @doc Manually log a message into lager without using the parse transform.
  
negative.code:             gen_event:sync_notify(Pid, {log, Level, Timestamp, Msg})
      end.
  
  %% @private
  string_reduce(IOdata) ->
      re:replace(IOdata, "\n$", "", [{return, list}]).
  