[Issue 15771] New: FileLogger should create the output directory if it does not exist
    via Digitalmars-d-bugs 
    digitalmars-d-bugs at puremagic.com
       
    Sun Mar  6 01:47:32 PST 2016
    
    
  
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 at puremagic.com
          Reporter: minasm1990 at 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 at 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).
--
    
    
More information about the Digitalmars-d-bugs
mailing list