title: Debug Assertion Fails When Trying to Write to Log4cpp Stream
body: <p>I'm trying to enable logging with log4cpp in the following way.</p>
  
  <pre><code>class Foo
  {
      private: 
          log4cpp::Appender* _logAppender;
          log4cpp::Layout* _logAppenderLayout;
  }
  
  Foo::Foo()
  {
      _logAppender = new log4cpp::FileAppender("foo", "logs/bar.log"));
      _logAppenderLayout = new log4cpp::BasicLayout();
      _logAppender.setLayout(_logAppenderLayout);
      log4cpp::Category::getRoot().setPriority(log4cpp::Priority::DEBUG);
      log4cpp::Category::getRoot().addAppender(_logAppender);
  
      // Crash on line below.
      log4cpp::Category::getRoot().debugStream() &lt;&lt; "test";
  }
  </code></pre>
  
  <p>When I get to the line where I try to write "test" to the log, I get a crash that says "Debug Assertion Failed!" The assertion is in f:\dd\vctools\crt_bld_self_64_amd64\crt\src\write.c Line 67. The assert that fails is </p>
  
  <pre><code>fh &gt;= 0 &amp;&amp; (unsigned)fh &lt; (unsigned)_nhandle
  </code></pre>
  
  <p>I have created the logs directory and the bar.log file to make sure it exists. I have also confirmed that both my application and the library were built as 64-bit multithreaded debug DLLs. There was no 64 bit build in the log4cpp source, so I created one based on the 32-bit build configuration. I'm using the latest version of log4cpp.</p>