Добавлен новый модуль logger для ведения журнала.
This commit is contained in:
parent
c0487ac9d4
commit
3d3e84a8a4
1 changed files with 46 additions and 0 deletions
46
source/ncui/lib/logger.d
Normal file
46
source/ncui/lib/logger.d
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
module ncui.lib.logger;
|
||||
|
||||
import std.stdio : stderr;
|
||||
import std.logger : MultiLogger, sharedLog, FileLogger;
|
||||
public import std.logger : LogLevel,
|
||||
trace, tracef,
|
||||
info, infof,
|
||||
warning, warningf,
|
||||
error, errorf,
|
||||
critical, criticalf,
|
||||
fatal, fatalf;
|
||||
|
||||
void setLogLevel(int verbose = LogLevel.all, string logfile = string.init)
|
||||
{
|
||||
LogLevel level = LogLevel.off;
|
||||
|
||||
switch (verbose)
|
||||
{
|
||||
case 0:
|
||||
level = LogLevel.off;
|
||||
break;
|
||||
case 1:
|
||||
level = LogLevel.error;
|
||||
break;
|
||||
case 2:
|
||||
level = LogLevel.warning;
|
||||
break;
|
||||
case 3:
|
||||
level = LogLevel.info;
|
||||
break;
|
||||
case 4:
|
||||
level = LogLevel.trace;
|
||||
break;
|
||||
default:
|
||||
level = LogLevel.all;
|
||||
}
|
||||
|
||||
auto multi = new MultiLogger(level);
|
||||
sharedLog = cast(shared) multi;
|
||||
|
||||
if (logfile.length > 0)
|
||||
{
|
||||
multi.insertLogger("file", new FileLogger(logfile));
|
||||
}
|
||||
multi.insertLogger("stderr", new FileLogger(stderr));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue