Class FileManager

    • Constructor Detail

      • FileManager

        @Deprecated
        protected FileManager​(java.lang.String fileName,
                              java.io.OutputStream os,
                              boolean append,
                              boolean locking,
                              java.lang.String advertiseURI,
                              Layout<? extends java.io.Serializable> layout,
                              int bufferSize,
                              boolean writeHeader)
        Deprecated.
      • FileManager

        @Deprecated
        protected FileManager​(java.lang.String fileName,
                              java.io.OutputStream os,
                              boolean append,
                              boolean locking,
                              java.lang.String advertiseURI,
                              Layout<? extends java.io.Serializable> layout,
                              boolean writeHeader,
                              java.nio.ByteBuffer buffer)
        Deprecated.
        Since:
        2.6
      • FileManager

        @Deprecated
        protected FileManager​(LoggerContext loggerContext,
                              java.lang.String fileName,
                              java.io.OutputStream os,
                              boolean append,
                              boolean locking,
                              boolean createOnDemand,
                              java.lang.String advertiseURI,
                              Layout<? extends java.io.Serializable> layout,
                              boolean writeHeader,
                              java.nio.ByteBuffer buffer)
        Deprecated.
        Since:
        2.7
      • FileManager

        protected FileManager​(LoggerContext loggerContext,
                              java.lang.String fileName,
                              java.io.OutputStream os,
                              boolean append,
                              boolean locking,
                              boolean createOnDemand,
                              java.lang.String advertiseURI,
                              Layout<? extends java.io.Serializable> layout,
                              java.lang.String filePermissions,
                              java.lang.String fileOwner,
                              java.lang.String fileGroup,
                              boolean writeHeader,
                              java.nio.ByteBuffer buffer)
        Since:
        2.9
    • Method Detail

      • getFileManager

        public static FileManager getFileManager​(java.lang.String fileName,
                                                 boolean append,
                                                 boolean locking,
                                                 boolean bufferedIo,
                                                 boolean createOnDemand,
                                                 java.lang.String advertiseUri,
                                                 Layout<? extends java.io.Serializable> layout,
                                                 int bufferSize,
                                                 java.lang.String filePermissions,
                                                 java.lang.String fileOwner,
                                                 java.lang.String fileGroup,
                                                 Configuration configuration)
        Returns the FileManager.
        Parameters:
        fileName - The name of the file to manage.
        append - true if the file should be appended to, false if it should be overwritten.
        locking - true if the file should be locked while writing, false otherwise.
        bufferedIo - true if the contents should be buffered as they are written.
        createOnDemand - true if you want to lazy-create the file (a.k.a. on-demand.)
        advertiseUri - the URI to use when advertising the file
        layout - The layout
        bufferSize - buffer size for buffered IO
        filePermissions - File permissions
        fileOwner - File owner
        fileGroup - File group
        configuration - The configuration.
        Returns:
        A FileManager for the File.
      • createOutputStream

        protected java.io.OutputStream createOutputStream()
                                                   throws java.io.IOException
        Overrides:
        createOutputStream in class OutputStreamManager
        Throws:
        java.io.IOException
      • defineAttributeView

        protected void defineAttributeView​(java.nio.file.Path path)
      • 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 OutputStreamManager
        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.
      • getFileName

        public java.lang.String getFileName()
        Returns the name of the File being managed.
        Returns:
        The name of the File being managed.
      • isAppend

        public boolean isAppend()
        Returns the append status.
        Returns:
        true if the file will be appended to, false if it is overwritten.
      • isCreateOnDemand

        public boolean isCreateOnDemand()
        Returns the lazy-create.
        Returns:
        true if the file will be lazy-created.
      • isLocking

        public boolean isLocking()
        Returns the lock status.
        Returns:
        true if the file will be locked when writing, false otherwise.
      • getBufferSize

        public int getBufferSize()
        Returns the buffer size to use if the appender was configured with BufferedIO=true, otherwise returns a negative number.
        Returns:
        the buffer size, or a negative number if the output stream is not buffered
      • getFilePermissions

        public java.util.Set<java.nio.file.attribute.PosixFilePermission> getFilePermissions()
        Returns posix file permissions if defined and the OS supports posix file attribute, null otherwise.
        Returns:
        File posix permissions
        See Also:
        PosixFileAttributeView
      • getFileOwner

        public java.lang.String getFileOwner()
        Returns file owner if defined and the OS supports owner file attribute view, null otherwise.
        Returns:
        File owner
        See Also:
        FileOwnerAttributeView
      • getFileGroup

        public java.lang.String getFileGroup()
        Returns file group if defined and the OS supports posix/group file attribute view, null otherwise.
        Returns:
        File group
        See Also:
        PosixFileAttributeView
      • isAttributeViewEnabled

        public boolean isAttributeViewEnabled()
        Returns true if file attribute view enabled for this file manager.
        Returns:
        True if posix or owner supported and defined false otherwise.
      • getContentFormat

        public java.util.Map<java.lang.String,​java.lang.String> getContentFormat()
        FileManager's content format is specified by: Key: "fileURI" Value: provided "advertiseURI" param.
        Overrides:
        getContentFormat in class AbstractManager
        Returns:
        Map of content format keys supporting FileManager