docs: public StoreTxLogPosition append(byte[] entry) throws IOException {
  
          int length = entry.length;
  
          if (length > storeConfig.getMaxxLogEntryLength()) {
              throw new DBException("Value size can not great than " + storeConfig.getMaxxLogEntryLength());
          }
  
          // 检查当前文件容量是否足够
          if (fileLength + length + ENTRY_HEAD_LENGTH > storeConfig.getTxLogFileSize()) {
              throw new CapacityNotEnoughException();
          }
  
          StoreTxLogPosition result = new StoreTxLogPosition();
          result.setRecordId(getNextRecordId());
  
          boolean ok = false;
          try {
  
              entryBuffer.clear();
              entryBuffer.put(magic);                      // 1 byte
              entryBuffer.putInt(length);                         // 4 byte
              entryBuffer.put(entry);                             // entry.length
              entryBuffer.flip();
  
              fileChannel.position(fileLength);
              fileChannel.write(entryBuffer);
  
              int entryLength = (ENTRY_HEAD_LENGTH + length);
              fileLength += entryLength;
  
              ok = true;
          } finally {
              if (ok) {
                  if (syncTimerTask == null || syncTimerTask.isDone()) {
                      syncTimerTask = new FutureTimerTask("ltsdb-dblog-sync-timertask", syncCallable);
                      syncTimer.schedule(syncTimerTask, storeConfig.getDbLogFlushInterval());
                  }
              }
          }
          return result;
      }