anchor.diff:  
   %%%-----------------------------------------------------------------
   %%% Log a string or report
  --spec log(LogEvent, Config) -> ok when
  +-spec log(LogEvent,Config) -> ok when
         LogEvent :: logger:log_event(),
         Config :: logger:handler_config().
   
  -log(LogEvent, Config) ->
  -    logger_h_common:log(LogEvent, Config).
  +log(LogEvent,Config) ->
  +    logger_h_common:log(LogEvent,Config).
   
   %%%-----------------------------------------------------------------
   %%% Remove internal fields from configuration
  
positive.code: check_h_config([]) ->
      ok.
  
  merge_default_logopts(Name, HConfig) ->
      Type = maps:get(type, HConfig, wrap),
      {DefaultNoFiles,DefaultNoBytes} =
          case Type of
              halt -> {undefined,infinity};
              _wrap -> {10,1048576}
          end,
      {ok,Dir} = file:get_cwd(),
      Defaults = #{file => filename:join(Dir,Name),
                   max_no_files => DefaultNoFiles,
                   max_no_bytes => DefaultNoBytes,
                   type => Type},
      maps:merge(Defaults, HConfig).
  
  filesync(Name,_Mode,State) ->
      Result = ?disk_log_sync(Name),
      maybe_notify_error(Name, filesync, Result, prev_sync_result, State).
  
  write(Name, Mode, Bin, State) ->
      Result = ?disk_log_write(Name, Mode, Bin),
      maybe_notify_error(Name, log, Result, prev_log_result, State).
  
  reset_state(_Name, State) ->
      State#{prev_log_result => ok,
             prev_sync_result => ok,
             prev_disk_log_info => undefined}.
  
  %% The disk log owner must handle status messages from disk_log.
  handle_info(Name, {disk_log, _Node, Log, Info={truncated,_NoLostItems}}, State) ->
      maybe_notify_status(Name, Log, Info, prev_disk_log_info, State);
  handle_info(Name, {disk_log, _Node, Log, Info = {blocked_log,_Items}}, State) ->
      maybe_notify_status(Name, Log, Info, prev_disk_log_info, State);
  handle_info(Name, {disk_log, _Node, Log, Info = full}, State) ->
      maybe_notify_status(Name, Log, Info, prev_disk_log_info, State);
  handle_info(Name, {disk_log, _Node, Log, Info = {error_status,_Status}}, State) ->
      maybe_notify_status(Name, Log, Info, prev_disk_log_info, State);
  handle_info(_, _, State) ->
      State.
  
  terminate(Name, _Reason, _State) ->
      _ = close_disk_log(Name, normal),
      ok.
  
  %%%-----------------------------------------------------------------
  %%% Internal functions
  open_disk_log(Name, File, Type, MaxNoBytes, MaxNoFiles) ->
      case filelib:ensure_dir(File) of
          ok ->
              Size =
                  if Type == halt -> MaxNoBytes;
                     Type == wrap -> {MaxNoBytes,MaxNoFiles}
                  end,
              Opts = [{name,   Name},
                      {file,   File},
  
negative.code: 
  %%%-----------------------------------------------------------------
  %%% Updating handler config
  changing_config(SetOrUpdate,OldConfig,NewConfig) ->
      logger_h_common:changing_config(SetOrUpdate,OldConfig,NewConfig).
  
  %%%-----------------------------------------------------------------
  %%% Handler being removed
  