mirror of https://github.com/deavmi/dlog.git
parent
bb8f71c9db
commit
d07cab3560
|
@ -0,0 +1,38 @@
|
|||
module dlog.nu.core;
|
||||
|
||||
public class Message
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public interface Filter
|
||||
{
|
||||
public bool filter(Message message);
|
||||
}
|
||||
|
||||
public interface MessageTransform
|
||||
{
|
||||
public Message transform(Message message);
|
||||
}
|
||||
|
||||
public interface Handler
|
||||
{
|
||||
public void handle(Message message);
|
||||
}
|
||||
|
||||
import std.container.slist : SList;
|
||||
// import std.range : in;
|
||||
import core.sync.mutex : Mutex;
|
||||
|
||||
public abstract class Logger
|
||||
{
|
||||
private SList!(MessageTransform) transforms;
|
||||
private SList!(Filter) filters;
|
||||
private SList!(Handler) handlers;
|
||||
private Mutex lock; // Lock for attached handlers, filters and transforms
|
||||
|
||||
this()
|
||||
{
|
||||
this.lock = new Mutex();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue