anchor.diff:      case supervisor:start_child(leo_logger_sup, ChildSpec) of
           {ok, _Pid} ->
               start_child_1(Id);
  -        {error, {already_started, _Pid}} ->
  +        {error, {already_started, _}} ->
               start_child_1(Id);
           Error ->
               Error
       end.
   
   %% @private
  --spec start_child_1(atom()) ->
  -     'ok' | {'error',_} | {'ok','undefined' | pid(),_}.
  +-spec(start_child_1(atom()) ->
  +             'ok' |
  +             {'error',_} |
  +             {'ok','undefined' | pid(),_}).
   start_child_1(Id)->
       RotatorId = list_to_atom(lists:append([atom_to_list(Id),"_rotator"])),
       ChildSpec = {RotatorId,
  
positive.code: 
  %% @doc add an appender into the ets
  %%
  -spec add_appender(atom(), atom()) ->
               ok.
  add_appender(GroupId, LoggerId) ->
      catch ets:insert(?ETS_LOGGER_GROUP, {GroupId, LoggerId}),
      ok.
  
negative.code: %%--------------------------------------------------------------------
  %% @doc Start object storage application.
  %%
  -spec(start_app() ->
               ok | {error, any()}).
  start_app() ->
      Module = leo_logger,
      case whereis(leo_logger_sup) of
          undefined ->
              case application:start(Module) of
                  ok ->
                      ?ETS_LOGGER_GROUP = ets:new(?ETS_LOGGER_GROUP,
                                                  [named_table, bag, public, {read_concurrency,true}]),
                      ok;
                  {error,{{already_started,_},_}} ->
                      ?debugVal(already_started),
                      ok;
                  {error, {already_started,_}} ->
                      ?debugVal(already_started),
                      ok;
                  Error ->
                      ?debugVal(Error),
                      Error
              end;
          _ ->
              ok
      end.
  
  
  %% @doc Launch a child worker
  %% @private
  -spec(start_child(atom(), log_appender(), atom(), [_]) ->
               ok | {error, any()}).
  start_child(Id, Appender, Callback, Props) ->
      ChildSpec = {Id,
                   {leo_logger_server, start_link,
  