Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

std.experimental.logger.filelogger

alias CreateFolder = std.typecons.Flag!"CreateFolder".Flag;
An option to create FileLogger directory if it is non-existent.
class FileLogger: std.experimental.logger.core.Logger;
This Logger implementation writes log messages to the associated file. The name of the file has to be passed on construction time. If the file is already present new log messages will be append at its end.
@safe this(const string fn, const LogLevel lv = LogLevel.all);
A constructor for the FileLogger Logger.
Parameters:
string fn The filename of the output file of the FileLogger. If that file can not be opened for writting an exception will be thrown.
LogLevel lv The LogLevel for the FileLogger. By default the

Example

auto l1 = new FileLogger("logFile");
auto l2 = new FileLogger("logFile", LogLevel.fatal);
auto l3 = new FileLogger("logFile", LogLevel.fatal, CreateFolder.yes);

@safe this(const string fn, const LogLevel lv, CreateFolder createFileNameFolder);
A constructor for the FileLogger Logger that takes a reference to a File.
The File passed must be open for all the log call to the FileLogger. If the File gets closed, using the FileLogger for logging will result in undefined behaviour.
Parameters:
string fn The file used for logging.
LogLevel lv The LogLevel for the FileLogger. By default the LogLevel for FileLogger is LogLevel.all.
CreateFolder createFileNameFolder if yes and fn contains a folder name, this folder will be created.

Example

auto file = File("logFile.log", "w");
auto l1 = new FileLogger(file);
auto l2 = new FileLogger(file, LogLevel.fatal);

@safe this(File file, const LogLevel lv = LogLevel.all);
A constructor for the FileLogger Logger that takes a reference to a File.
The File passed must be open for all the log call to the FileLogger. If the File gets closed, using the FileLogger for logging will result in undefined behaviour.
Parameters:
File file The file used for logging.
LogLevel lv The LogLevel for the FileLogger. By default the LogLevel for FileLogger is LogLevel.all.

Example

auto file = File("logFile.log", "w");
auto l1 = new FileLogger(file);
auto l2 = new FileLogger(file, LogLevel.fatal);

@property @safe File file();
If the FileLogger is managing the File it logs to, this method will return a reference to this File.
string getFilename();
If the FileLogger was constructed with a filename, this method returns this filename. Otherwise an empty string is returned.
protected File file_;
The File log messages are written to.
protected string filename;
The filename of the File log messages are written to.