// Path: logful/src/main/java/com/getui/logful/layout/Layout.java
// public interface Layout {
// 
//     byte[] toBytes(LogEvent event);
// 
// }


import com.getui.logful.layout.Layout;
package com.getui.logful.appender;


public final class FileAppender extends AbstractOutputStreamAppender<FileManager> {

    private final long capacity;

    private final int fileFragment;

    /**
     * FileAppender.
     *
     * @param loggerName Logger name {@link com.getui.log.Logger}
     * @param layout Layout to format {@link LogEvent}
     * @param manager FileManager {@link FileManager}
     * @param ignoreExceptions Ignore exceptions
     * @param immediateFlush Immediate flush
     * @param capacity Capacity
     * @param fragment Fragment
     */
// Path: logful/src/main/java/com/getui/logful/layout/Layout.java
// public interface Layout {
// 
//     byte[] toBytes(LogEvent event);
// 
// }


// Path: logful/src/main/java/com/getui/logful/appender/FileAppender.java
import com.getui.logful.layout.Layout;

package com.getui.logful.appender;


public final class FileAppender extends AbstractOutputStreamAppender<FileManager> {

    private final long capacity;

    private final int fileFragment;

    /**
     * FileAppender.
     *
     * @param loggerName Logger name {@link com.getui.log.Logger}
     * @param layout Layout to format {@link LogEvent}
     * @param manager FileManager {@link FileManager}
     * @param ignoreExceptions Ignore exceptions
     * @param immediateFlush Immediate flush
     * @param capacity Capacity
     * @param fragment Fragment
     */
    private FileAppender(final String loggerName, final Layout layout, final FileManager manager,