anchor.diff:  end;
   
   function TPlainTextOutput.FormatLogMessage(PreambleLength : Word; Severity : TLogMsgSeverity; const Msg : String) : String;
  -begin
  -  // TODO: implement {TPlainTextOutput.FormatLogMessage}
  +var
  +  sSeverity : String;
  +  cFiller : Char;
  +begin
  +  sSeverity := FormatSeverity(Severity);
  +  Result := sSeverity + IndentText(Msg);
  +
  +  cFiller := GetPreambleCompensatorFiller;
  +  if not cFiller.IsControl then
  +    Result := IndentText(Result, cFiller, PreambleLength + sSeverity.Length, True);
   end;
   
   function TPlainTextOutput.FormatLogSectionBeginning(PreambleLength : Word; const Msg : String) : String;
  -begin
  -  // TODO: implement {TPlainTextOutput.FormatLogSectionBeginning}
  +var
  +  sPrefix : String;
  +  cFiller : Char;
  +begin
  +  sPrefix := GetSectionBeginningPrefix;
  +  Result := sPrefix + IndentText(Msg);
  +
  +  cFiller := GetPreambleCompensatorFiller;
  +  if not cFiller.IsControl then
  +    Result := IndentText(Result, cFiller, PreambleLength + sPrefix.Length, True);
   end;
   
   function TPlainTextOutput.FormatLogSectionEnding(PreambleLength : Word; const Msg : String) : String;
  -begin
  -  // TODO: implement {TPlainTextOutput.FormatLogSectionEnding}
  +var
  +  sPrefix : String;
  +  cFiller : Char;
  +begin
  +  sPrefix := GetSectionEndingPrefix;
  +  Result := sPrefix + IndentText(Msg);
  +
  +  cFiller := GetPreambleCompensatorFiller;
  +  if not cFiller.IsControl then
  +    Result := IndentText(Result, cFiller, PreambleLength + sPrefix.Length, True);
   end;
   
   function TPlainTextOutput.FormatPreamble(Instant : TLogTimestamp) : String;
  
positive.code: begin
    // TODO: make const {TPlainTextOutput.GetPreambleCompensatorFiller}
    Result := ' ';
  end;
  
  function TPlainTextOutput.GetSectionIndentStr : String;
  
negative.code: implementation
  
  uses
    System.Classes, System.Types, System.Math, System.StrUtils, System.Character,
    FIToolkit.Commons.Utils,
    FIToolkit.Logger.Utils, FIToolkit.Logger.Consts;
  
  