Logging system designed to operate in concurrent application.
The system should be initialized with initLoggingSystem function. There is no need to call shutdown function as it is happen in module destructor.
void testThread() { foreach(j; 1 .. 50) { logInfo(to!string(j)); logError(to!string(j)); } } foreach(i; 1 .. 50) { spawn(&testThread); }
Log levels defines style of the messages. Printing in console can be controlled by ILogger.minOutputLevel property.
Default logger interface that uses LoggingLevel as enum that describes ordering of logging levels.
Wrapper for handy debug messages.
Not lazy wrapper for multiple args messages
Lazy wrapper for one string message
Not lazy wrapper for multiple args messages
Lazy wrapper for one string message
Not lazy wrapper for multiple args messages
Lazy wrapper for one string message
Interface for lazy logging. Assumes to be nothrow. Underlying realization should be concurrent safe.
StyleEnum is enum that used to distinct logging levels and define ordering for verbosity muting.
Setting new log file name. If the value differs from old one, logger should close old one and open new file.
Log file name.
Prints message into log. Displaying in the console controlled by minOutputLevel property.
Setups minimum message level that goes to console.
Setups minimum message level that goes to file.
Setups minimum message level that goes to file.
Used to manual shutdown protocols.
Unsafe write down the message without any meta information.
Format message with default logging style (etc. time and level string).
Format message with default logging style (etc. time and level string).
Checks if the log file is exists at specified location and if can't find it, recreates the file and continues write into it.
Useful for logrotate utility. GNU/Linux system checks file identity by inode, that doesn't change while renaming. Thus after renaming the file at location log continues write into the renamed file. The call to the reload method force splitting log into two parts.