anchor.diff:                       LogId::atom(),
                        RootPath::string(),
                        LogFileName::string()).
  -new(LogGroup, LogId, RootPath, LogFileName) ->
  -    leo_logger_client_base:new(LogGroup, LogId, RootPath, LogFileName).
  +new(LogGroup, LogId, _RootPath, LogFileName) ->
  +    lager_app:configure_sink(LogGroup,
  +                             [{handlers, [{lager_file_backend, [{file, LogFileName}, {level, info},
  +                                                                {size, 10485760}, {date, "$D0"},
  +                                                                {formatter, lager_default_formatter},
  +                                                                {formatter_config, [message, "\n"]},
  +                                                                {rotator, leo_logger_rotator}
  +                                                               ]}]},
  +                              {async_threshold, 500},
  +                              {async_threshold_window, 50}]),
  +    ets:insert(?LOG_ID_TO_SINK_ETS, {LogId, {LogGroup, LogFileName}}),
  +    ok.
   
   %% @doc Append a message to a file
   -spec(append(LogInfo) ->
                ok when LogInfo::{atom(), #message_log{}}).
  -append(LogInfo) ->
  -    leo_logger_client_base:append(LogInfo).
  +append({LogId, Log} = _LogInfo) ->
  +    case catch ets:lookup(?LOG_ID_TO_SINK_ETS, LogId) of
  +        {'EXIT', Cause} ->
  +            error_logger:error_msg("~p,~p,~p,~p~n",
  +                                   [{module, ?MODULE_STRING},
  +                                    {function, "append/1"},
  +                                    {line, ?LINE}, {body, Cause}]),
  +            {error, Cause};
  +        %% TODO: Check if lager can log to specific backend
  +        [{LogId, {LogGroup, _LogFileName}}] ->
  +            {Meta, Fmt, Msg} = convert_log(Log),
  +            lager:log(LogGroup, info, Meta, Fmt, Msg);
  +        _ ->
  +            {error, not_found}
  +    end.
   
   %% @doc Update the log level of the info/error logger
   -spec(update_log_level(Level) ->
                ok | {error, any()} when Level::log_level()).
  -update_log_level(Val) ->
  -    leo_logger_client_message:update_log_level(Val).
  -
  +update_log_level(Level) ->
  +    case ?log_handlers(Level) of
  +        {ok, Handlers} ->
  +            lists:foreach(fun({File, FLevel}) ->
  +                                  lager:set_loglevel(lager_file_backend, File, FLevel)
  +                          end, Handlers);
  +        Others ->
  +            Others
  +    end.
   
   %% @doc Convert to Lager Metadata
   -spec(convert_log(Log) ->
  
positive.code: 
  -define(LOG_FILE_NAME_INFO, "info").
  -define(LOG_FILE_NAME_ERROR, "error").
  
  -define(log_handlers(_LogLvl),
          case _LogLvl of
  
negative.code: 
  %% @doc Stop Loggers
  stop() ->
      ok.
  