class LogMini {
    enum Level { TRACE, DEBUG, INFO, WARN, ERROR }

    private Level ambang;

    LogMini(Level ambang) {
        this.ambang = ambang;
    }

    void setAmbang(Level ambang) {
        this.ambang = ambang;
    }

    private boolean aktif(Level level) {
        return level.ordinal() >= ambang.ordinal();
    }

    private void catat(Level level, String pesan) {
        if (aktif(level)) {
            System.out.println("[" + level + "] " + pesan);
        }
    }

    void trace(String pesan) { catat(Level.TRACE, pesan); }
    void debug(String pesan) { catat(Level.DEBUG, pesan); }
    void info(String pesan)  { catat(Level.INFO, pesan); }
    void warn(String pesan)  { catat(Level.WARN, pesan); }
    void error(String pesan) { catat(Level.ERROR, pesan); }
}
