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
|
public class BasicMessage : Message
|
||||||
{
|
{
|
||||||
private string text;
|
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()
|
public string getText()
|
||||||
{
|
{
|
||||||
return this.text;
|
return this.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Level getLevel()
|
||||||
|
{
|
||||||
|
return this.level;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Context
|
public class Context
|
||||||
|
@ -36,4 +47,44 @@ public class FileHandler : Handler
|
||||||
file.writeln(bmesg.getText());
|
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