/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.common.log.SerializableFilter
 *  com.l7tech.gateway.common.log.SinkConfiguration$RollingInterval
 *  com.l7tech.util.ConfigurableLogFormatter
 */
package com.l7tech.server.log;

import com.l7tech.common.log.SerializableFilter;
import com.l7tech.gateway.common.log.SinkConfiguration;
import com.l7tech.server.log.RollingFileHandler;
import com.l7tech.server.log.r;
import com.l7tech.util.ConfigurableLogFormatter;
import java.io.IOException;
import java.io.Serializable;
import java.util.logging.Filter;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.StreamHandler;

public class LogFileConfiguration
implements Serializable {
    private static final long serialVersionUID = 1L;
    private final String filepat;
    private final int limit;
    private final int count;
    private final boolean append;
    private final int level;
    private final String formatPattern;
    private final SerializableFilter filter;
    private final boolean rollingEnabled;
    private final SinkConfiguration.RollingInterval rollingInterval;

    public LogFileConfiguration(String string, int n2, int n3, boolean bl2, int n4, String string2, SerializableFilter serializableFilter, boolean bl3, SinkConfiguration.RollingInterval rollingInterval) {
        this.filepat = string;
        this.limit = n2;
        this.count = n3;
        this.append = bl2;
        this.level = n4;
        this.formatPattern = string2;
        this.filter = serializableFilter;
        this.rollingEnabled = bl3;
        this.rollingInterval = rollingInterval;
    }

    public LogFileConfiguration(LogFileConfiguration logFileConfiguration, int n2) {
        this(logFileConfiguration.getFilepat(), logFileConfiguration.getLimit(), logFileConfiguration.getCount(), logFileConfiguration.isAppend(), n2, logFileConfiguration.getFormatPattern(), logFileConfiguration.getFilter(), logFileConfiguration.isRollingEnabled(), logFileConfiguration.getRollingInterval());
    }

    public Handler buildFileHandler() throws IOException {
        StreamHandler streamHandler = this.rollingEnabled ? new RollingFileHandler(this.filepat, this.rollingInterval) : new r(this.filepat, this.limit, this.count, this.append);
        streamHandler.setFormatter((Formatter)new ConfigurableLogFormatter(this.formatPattern));
        streamHandler.setLevel(Level.parse(Integer.toString(this.level)));
        streamHandler.setFilter((Filter)this.filter);
        return streamHandler;
    }

    public String getFilepat() {
        return this.filepat;
    }

    public int getLimit() {
        return this.limit;
    }

    public int getCount() {
        return this.count;
    }

    public boolean isAppend() {
        return this.append;
    }

    public int getLevel() {
        return this.level;
    }

    public String getFormatPattern() {
        return this.formatPattern;
    }

    public SerializableFilter getFilter() {
        return this.filter;
    }

    public boolean isRollingEnabled() {
        return this.rollingEnabled;
    }

    public SinkConfiguration.RollingInterval getRollingInterval() {
        return this.rollingInterval;
    }
}

