记录器级别算法

时间:2014-10-22 19:14:40

标签: java algorithm logging

我应该创建获取参数(String logMessage,String level)的方法。 logger -SetLogLevel还有参数。可能的水平是低,中,高。

  • 如果SetLogLevel == low,则日志输出应包含所有级别的所有消息。
  • 如果SetLogLevel == medium,则日志输出应包含所有级别为medium ||的消息高。
  • 如果SetLogLevel == high,则只应输出“高”级别的消息。

有什么想法吗?它只能用一种方法实现吗?我可以实现这样的方法,例如SetLogLevel == medium,只输出中等级别。但我无法弄清楚如何以上述方式进行。

1 个答案:

答案 0 :(得分:1)

public enum LoggerLevel {
    Low(0), Medium(1), High(2);

    private int value;
    public LoggerLevel(int val) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

public void log (String mes, LoggerLevel lvl) {
    if (lvl.getValue() >= getLoggingLevel().getValue()) {
        // logic here
    }
}

编辑:我在C#中写过它。在java中,枚举不是整数,而是对象。