std.experimental.logger.multilogger

Source
std/experimental/logger/multilogger.d
struct MultiLoggerEntry;

This Element is stored inside the MultiLogger and associates a Logger to a string.

string name;

The name if the Logger

Logger logger;

The stored Logger

class MultiLogger: std.experimental.logger.core.Logger;

MultiLogger logs to multiple Logger. The Loggers are stored in an Logger[] in their order of insertion.

Every data logged to this MultiLogger will be distributed to all the Loggers inserted into it. This MultiLogger implementation can hold multiple Loggers with the same name. If the method removeLogger is used to remove a Logger only the first occurrence with that name will be removed.

@safe this(const LogLevel lv = LogLevel.all);

A constructor for the MultiLogger Logger.

Parameters:
LogLevel lv The LogLevel for the MultiLogger. By default the LogLevel for MultiLogger is LogLevel.all.
Example
auto l1 = new MultiLogger(LogLevel.trace);
protected MultiLoggerEntry[] logger;

This member holds all Loggers stored in the MultiLogger.

When inheriting from MultiLogger this member can be used to gain access to the stored Logger.

@safe void insertLogger(string name, Logger newLogger);

This method inserts a new Logger into the MultiLogger.

Parameters:
string name The name of the Logger to insert.
Logger newLogger The Logger to insert.
@safe Logger removeLogger(in char[] toRemove);

This method removes a Logger from the MultiLogger.

Parameters:
char[] toRemove The name of the Logger to remove. If the Logger is not found null will be returned. Only the first occurrence of a Logger with the given name will be removed.
Returns:
The removed Logger.

© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/std_experimental_logger_multilogger.html