code: @PostConstruct
    public void init()
      throws ConfigException, IOException
    {
      if (_path != null) {
        _rotateStream = RotateStream.create(_path);
      }
      else if (_pathFormat != null) {
        _rotateStream = RotateStream.create(_pathFormat);
      }
      else {
        throw new ConfigException(L.l("'path' is a required attribute of <{0}>.  Each <{0}> must configure the destination stream.", getTagName()));
      }
  
      if (_path != null
          && Files.exists(_path)
          && ! Files.isReadable(_path)
          && (_rolloverPeriod != null
             || _rolloverSize != null
             || _archiveFormat != null)) {
        throw new ConfigException(L.l("log path '{0}' is not readable and therefore cannot be rotated.", _path.toUri()));
      }
  
      RolloverLogBase rolloverLog = _rotateStream.getRolloverLog();
  
      if (_rolloverPeriod != null) {
        rolloverLog.setRolloverPeriod(_rolloverPeriod);
      }
  
      if (_rolloverSize != null) {
        rolloverLog.setRolloverSize(_rolloverSize);
      }
      
      _rotateStream.setMaxRolloverCount(_rolloverCount);
      
      if (_archiveFormat != null) {
        rolloverLog.setArchiveFormat(_archiveFormat);
      }
  
      _rotateStream.init();
    }
docs: Initialize the log.