/// module std.experimental.logger.nulllogger; import std.experimental.logger.core; /** The $(D NullLogger) will not process any log messages. In case of a log message with $(D LogLevel.fatal) nothing will happen. */ class NullLogger : Logger { /** The default constructor for the $(D NullLogger). Independent of the parameter this Logger will never log a message. Params: lv = The $(D LogLevel) for the $(D NullLogger). By default the $(D LogLevel) for $(D NullLogger) is $(D 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.experimental.logger.nulllogger : 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"); } |