blob: fd48b8529bb00c5f172d6b4aaf8a561d4d6e8021 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// Written in the D programming language.
/**
Source: $(PHOBOSSRC std/logger/nulllogger.d)
*/
module std.logger.nulllogger;
import std.logger.core;
/** The `NullLogger` will not process any log messages.
In case of a log message with `LogLevel.fatal` nothing will happen.
*/
class NullLogger : Logger
{
/** The default constructor for the `NullLogger`.
Independent of the parameter this Logger will never log a message.
Params:
lv = The `LogLevel` for the `NullLogger`. By default the `LogLevel`
for `NullLogger` is `LogLevel.all`.
*/
this(const LogLevel lv = LogLevel.all) @safe
{
super(lv);
this.fatalHandler = delegate() {};
}
override protected void writeLogMsg(ref LogEntry payload) @safe @nogc
{
}
}
///
@safe unittest
{
import std.logger.core : LogLevel;
auto nl1 = new NullLogger(LogLevel.all);
nl1.info("You will never read this.");
nl1.fatal("You will never read this, either and it will not throw");
}
|