Class RollingRandomAccessFileManager

  • All Implemented Interfaces:
    java.lang.AutoCloseable, ByteBufferDestination

    public class RollingRandomAccessFileManager
    extends RollingFileManager
    Extends RollingFileManager but instead of using a buffered output stream, this class uses a ByteBuffer and a RandomAccessFile to do the I/O.
    • Field Detail

      • DEFAULT_BUFFER_SIZE

        public static final int DEFAULT_BUFFER_SIZE
        The default buffer size.
        See Also:
        Constant Field Values
    • Constructor Detail

      • RollingRandomAccessFileManager

        @Deprecated
        public RollingRandomAccessFileManager​(LoggerContext loggerContext,
                                              java.io.RandomAccessFile raf,
                                              java.lang.String fileName,
                                              java.lang.String pattern,
                                              java.io.OutputStream os,
                                              boolean append,
                                              boolean immediateFlush,
                                              int bufferSize,
                                              long size,
                                              long time,
                                              TriggeringPolicy policy,
                                              RolloverStrategy strategy,
                                              java.lang.String advertiseURI,
                                              Layout<? extends java.io.Serializable> layout,
                                              boolean writeHeader)
        Deprecated.
      • RollingRandomAccessFileManager

        public RollingRandomAccessFileManager​(LoggerContext loggerContext,
                                              java.io.RandomAccessFile raf,
                                              java.lang.String fileName,
                                              java.lang.String pattern,
                                              java.io.OutputStream os,
                                              boolean append,
                                              boolean immediateFlush,
                                              int bufferSize,
                                              long size,
                                              long time,
                                              TriggeringPolicy policy,
                                              RolloverStrategy strategy,
                                              java.lang.String advertiseURI,
                                              Layout<? extends java.io.Serializable> layout,
                                              java.lang.String filePermissions,
                                              java.lang.String fileOwner,
                                              java.lang.String fileGroup,
                                              boolean writeHeader)
        Since:
        2.8.3
    • Method Detail

      • getRollingRandomAccessFileManager

        public static RollingRandomAccessFileManager getRollingRandomAccessFileManager​(java.lang.String fileName,
                                                                                       java.lang.String filePattern,
                                                                                       boolean isAppend,
                                                                                       boolean immediateFlush,
                                                                                       int bufferSize,
                                                                                       TriggeringPolicy policy,
                                                                                       RolloverStrategy strategy,
                                                                                       java.lang.String advertiseURI,
                                                                                       Layout<? extends java.io.Serializable> layout,
                                                                                       java.lang.String filePermissions,
                                                                                       java.lang.String fileOwner,
                                                                                       java.lang.String fileGroup,
                                                                                       Configuration configuration)
      • isEndOfBatch

        public java.lang.Boolean isEndOfBatch()
      • setEndOfBatch

        public void setEndOfBatch​(boolean endOfBatch)
      • write

        protected void write​(byte[] bytes,
                             int offset,
                             int length,
                             boolean immediateFlush)
        Description copied from class: OutputStreamManager
        Some output streams synchronize writes while others do not. Synchronizing here insures that log events won't be intertwined.
        Overrides:
        write in class RollingFileManager
        Parameters:
        bytes - The serialized Log event.
        offset - The offset into the byte array.
        length - The number of bytes to write.
        immediateFlush - flushes immediately after writing.
      • getBufferSize

        public int getBufferSize()
        Returns the buffer capacity.
        Overrides:
        getBufferSize in class FileManager
        Returns:
        the buffer size