mirror of https://github.com/deavmi/dlog.git
BasicMessage
- Now supports a `Level` setting Level - Added new enum type LevelFilter - Added implementation for level filtering
This commit is contained in:
parent
b13621fd82
commit
2658ed20b5
|
@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue