BasicLogger

- Now stores current level in a filter of its own
- The `LevelFilter` is attached to the `BasicLogger` on construction

LevelFilter

- Now use a `Level*` rather
This commit is contained in:
Tristan B. Velloza Kildaire 2024-04-09 08:44:30 +02:00
parent 2658ed20b5
commit 39c2fe78fd
1 changed files with 13 additions and 5 deletions

View File

@ -57,13 +57,13 @@ public enum Level
DEBUG
}
public class LevelFilter : Filter
private class LevelFilter : Filter
{
private Level curLevel;
private Level* level;
this()
this(Level* level)
{
this.level = level;
}
public bool filter(Message message)
@ -72,7 +72,7 @@ public class LevelFilter : Filter
BasicMessage bmesg = cast(BasicMessage)message;
if(bmesg)
{
return bmesg.getLevel() <= this.curLevel;
return bmesg.getLevel() <= *this.level;
}
return false;
@ -85,6 +85,14 @@ public class BasicLogger : Logger
this()
{
// Attach a new level-filter
// with access to our current
// level
addFilter(new LevelFilter(&level));
}
public final void setLevel(Level level)
{
this.level = level;
}
}