def auto_flushing=( period )
      @auto_flushing =
        case period
        when true;             1
        when false, nil, 0;    DEFAULT_BUFFER_SIZE
        when Integer;          period
        when String;           Integer(period)
        else
          raise ArgumentError,
                "unrecognized auto_flushing period: #{period.inspect}"
        end

      if @auto_flushing <= 0
        raise ArgumentError,
          "auto_flushing period must be greater than zero: #{period.inspect}"
      end

      @auto_flushing = DEFAULT_BUFFER_SIZE if @flush_period && @auto_flushing <= 1
    end
def auto_flushing=( period )
      @auto_flushing =
        case period
        when true;             1
        when false, nil, 0;    DEFAULT_BUFFER_SIZE
        when Integer;          period
        when String;           Integer(period)
        else
          raise ArgumentError,
                "unrecognized auto_flushing period: #{period.inspect}"
        end

      if @auto_flushing <= 0
        raise ArgumentError,
          "auto_flushing period must be greater than zero: #{period.inspect}"
      end

      @auto_flushing = DEFAULT_BUFFER_SIZE if @flush_period && @auto_flushing <= 1
    end
Configure the auto-flushing threshold. Auto-flushing is used to flush
 the contents of the logging buffer to the logging destination
 automatically when the buffer reaches a certain threshold.

 By default, the auto-flushing will be configured to flush after each
 log message.

 The allowed settings are as follows:

   N      : flush after every N messages (N is an integer)
   true   : flush after each log message
   false  OR
   nil    OR
   0      : only flush when the buffer is full (500 messages)

 If the default buffer size of 500 is too small, then you can manually
 configure it to be as large as you want. This will consume more memory.

   auto_flushing = 42_000