public virtual void Format()

in src/log4net/Util/PatternConverter.cs [137:186]


  public virtual void Format(TextWriter writer, object? state)
  {
    writer.EnsureNotNull();
    if (_min < 0 && _max == int.MaxValue)
    {
      // Formatting options are not in use
      Convert(writer, state);
    }
    else
    {
      string? msg;
      int len;
      lock (_syncRoot)
      {
        _formatWriter.Reset(MaxRenderBufferCapacity, DefaultRenderBufferSize);

        Convert(_formatWriter, state);

        StringBuilder buf = _formatWriter.GetStringBuilder();
        len = buf.Length;
        if (len > _max)
        {
          msg = buf.ToString(len - _max, _max);
          len = _max;
        }
        else
        {
          msg = buf.ToString();
        }
      }

      if (len < _min)
      {
        if (_leftAlign)
        {
          writer.Write(msg);
          SpacePad(writer, _min - len);
        }
        else
        {
          SpacePad(writer, _min - len);
          writer.Write(msg);
        }
      }
      else
      {
        writer.Write(msg);
      }
    }
  }