diff --git a/source/dlog/nu/basic.d b/source/dlog/nu/basic.d index e71962c..92413a6 100644 --- a/source/dlog/nu/basic.d +++ b/source/dlog/nu/basic.d @@ -5,12 +5,23 @@ import dlog.nu.core; public class BasicMessage : Message { private string text; - private Context ctx; + private Level level; + + this(string text, Level level = Level.INFO) + { + this.text = text; + this.level = level; + } public string getText() { return this.text; } + + public Level getLevel() + { + return this.level; + } } public class Context @@ -36,4 +47,44 @@ public class FileHandler : Handler file.writeln(bmesg.getText()); } } +} + +public enum Level +{ + ERROR, + WARNING, + INFO, + DEBUG +} + +public class LevelFilter : Filter +{ + private Level curLevel; + + this() + { + + } + + public bool filter(Message message) + { + // Only handle BasicMessage(s) + BasicMessage bmesg = cast(BasicMessage)message; + if(bmesg) + { + return bmesg.getLevel() <= this.curLevel; + } + + return false; + } +} + +public class BasicLogger : Logger +{ + private Level level; + + this() + { + + } } \ No newline at end of file