| // 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"); | |
| } |