anchor.diff:              leo_logger_server:append(?LOG_APPEND_SYNC, LogId, Log, 0)
       end.
   
  --spec append(#message_log{}, #logger_state{}) ->
  -             #logger_state{}.
  -append(Log, State) ->
  -    leo_logger_appender_file:append(Log, State).
  -
   
   %% @doc Sync a log file
   %%
  
positive.code: -spec new(atom(), atom(), string(), string()) ->
               ok.
  new(LogGroup, LogId, RootPath, LogFileName) ->
      ok = leo_logger_util:new(
             LogId, ?LOG_APPENDER_FILE, ?MODULE, RootPath, LogFileName),
      ok = leo_logger_util:add_appender(LogGroup, LogId),
      ok.
  
  
  %% @doc Initialize
  %%
  -spec init(atom(), atom(), [_]) ->
               ok | {error, _}.
  init(Appender, Callback, Props) ->
      leo_logger_appender_file:init(Appender, Callback, Props).
  
  
  %% @doc Format a log message
  
negative.code: -include("leo_logger.hrl").
  -include_lib("eunit/include/eunit.hrl").
  
  -export([new/4, format/2, append/1, sync/1]).
  
  -define(MAX_MSG_BODY_LEN, 4096).
  
  