digitalmars.D.bugs - [Issue 15771] New: FileLogger should create the output directory if
- via Digitalmars-d-bugs (30/30) Mar 06 2016 https://issues.dlang.org/show_bug.cgi?id=15771
https://issues.dlang.org/show_bug.cgi?id=15771 Issue ID: 15771 Summary: FileLogger should create the output directory if it does not exist Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: phobos Assignee: nobody puremagic.com Reporter: minasm1990 gmail.com Currectly, this throws an exception, because the folder "oops" does not exist. // import std.experimental.logger; void main() { auto logger = new FileLogger("/home/minas/oops/log.txt"); } // std.exception.ErrnoException std/stdio.d(393): Cannot open file `/home/minas/oops/log.txt' in mode `a' (No such file or directory) The solution is simple: mkdirRecurse("/home/minas/oops/"); However, this is something that the logging system should be doing, not the client programmer. (As an example Java's logback and log4j create the directory structure if it's not there). --
Mar 06 2016