mirror of https://github.com/deavmi/gogga.git
parent
4fe7ec1478
commit
85dceaf279
|
@ -40,7 +40,7 @@ public enum GoggaMode
|
|||
/**
|
||||
* Information obtained during compilation time (if any)
|
||||
*/
|
||||
private struct GoggaCompInfo
|
||||
public struct GoggaCompInfo
|
||||
{
|
||||
/**
|
||||
* compile time usage file
|
||||
|
@ -248,15 +248,29 @@ private class GoggaTransform : Transform
|
|||
|
||||
|
||||
|
||||
import std.meta : AliasSeq, aliasSeqOf;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public mixin template Lekker(alias gLogger)
|
||||
// TODO: ensure the paraneter is a var of type glogger
|
||||
if(__traits(isSame, typeof(gLogger), GoggaLogger))
|
||||
{
|
||||
import std.meta : AliasSeq, aliasSeqOf;
|
||||
import std.traits : ParameterDefaults;
|
||||
import std.traits : EnumMembers;
|
||||
import dlog.basic : Level;
|
||||
|
||||
private GoggaLogger sdfjkfsdghjsdfghjsdf = gLogger;
|
||||
|
||||
|
||||
private mixin template MakeFuncFor(alias GoggaLogger gLogger, Level level)
|
||||
private mixin template MakeFuncFor(alias GoggaLogger gLogger, Level level)
|
||||
{
|
||||
import std.string : toLower;
|
||||
import std.array : join;
|
||||
import std.conv : to;
|
||||
import gogga.core : GoggaCompInfo;
|
||||
mixin(`
|
||||
public void `~to!(string)(level)~`(Text...)
|
||||
(
|
||||
|
@ -274,12 +288,6 @@ private mixin template MakeFuncFor(alias GoggaLogger gLogger, Level level)
|
|||
`);
|
||||
}
|
||||
|
||||
public mixin template Lekker(alias gLogger)
|
||||
// TODO: ensure the paraneter is a var of type glogger
|
||||
if(__traits(isSame, typeof(gLogger), GoggaLogger))
|
||||
{
|
||||
private GoggaLogger sdfjkfsdghjsdfghjsdf = gLogger;
|
||||
|
||||
static foreach(level; EnumMembers!(Level))
|
||||
{
|
||||
mixin MakeFuncFor!(gLogger, level);
|
||||
|
@ -352,7 +360,7 @@ public final class GoggaLogger : BasicLogger
|
|||
* info = the context
|
||||
* level = the log level to use
|
||||
*/
|
||||
private void doLog(TextType...)(TextType segments, GoggaCompInfo info, Level level)
|
||||
public void doLog(TextType...)(TextType segments, GoggaCompInfo info, Level level)
|
||||
{
|
||||
/* Create a new GoggaMessage */
|
||||
GoggaMessage message = new GoggaMessage();
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
module gogga.test;
|
||||
|
||||
import gogga;
|
||||
|
||||
version(unittest)
|
||||
{
|
||||
import std.stdio : writeln, stdout;
|
||||
import dlog.basic : Level, FileHandler;
|
||||
}
|
||||
|
||||
unittest
|
||||
{
|
||||
GoggaLogger gLogger = new GoggaLogger();
|
||||
gLogger.addHandler(new FileHandler(stdout));
|
||||
gLogger.setLevel(Level.DEBUG);
|
||||
|
||||
mixin Lekker!(gLogger);
|
||||
|
||||
DEBUG("fok", 2,2);
|
||||
ERROR("fok", 2,2);
|
||||
INFO("fok", 2,2);
|
||||
WARN("fok", 2,2);
|
||||
|
||||
writeln();
|
||||
}
|
Loading…
Reference in New Issue