Author: kurdalen
Date: Wed Apr 29 19:50:46 2009
New Revision: 769899

URL: http://svn.apache.org/viewvc?rev=769899&view=rev
Log:
fixed #LOG4PHP-12

Modified:
    incubator/log4php/trunk/CHANGELOG
    incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php

Modified: incubator/log4php/trunk/CHANGELOG
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/CHANGELOG?rev=769899&r1=769898&r2=769899&view=diff
==============================================================================
--- incubator/log4php/trunk/CHANGELOG (original)
+++ incubator/log4php/trunk/CHANGELOG Wed Apr 29 19:50:46 2009
@@ -8,6 +8,7 @@
 - Bug #7: Change copyright notices to conform to the Source Header and 
Copyright Notice Policy (Curt Arnold)
 - Bug #9: log4php.dtd should be reviewed (Christian Grobmeier)
 - Bug #11: trailing "\n" (Hiroaki Kawai)
+- Bug #12: LoggerAppenderFile does not create missing directories (Knut 
Urdalen)
 - Bug #13: LoggerPropertyConfigurator: Only variables should be assigned by 
reference (Michael Aichler)
 - Bug #14: LoggerPropertySetter: warnings about is_a() and non-static method 
(Michael Aichler)
 - Bug #15: Logger: warnings about is_a() (Michael Aichler)

Modified: incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php
URL: 
http://svn.apache.org/viewvc/incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php?rev=769899&r1=769898&r2=769899&view=diff
==============================================================================
--- incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php 
(original)
+++ incubator/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php Wed 
Apr 29 19:50:46 2009
@@ -55,6 +55,14 @@
     public function activateOptions() {
         $fileName = $this->getFile();
         LoggerLog::debug("LoggerAppenderFile::activateOptions() opening file 
'{$fileName}'");
+
+               if(!is_file($fileName)) {
+                       $dir = dirname($fileName);
+                       if(!is_dir($dir)) {
+                               mkdir($dir, 0777, true);
+                       }
+               }
+
         $this->fp = fopen($fileName, ($this->getAppend()? 'a':'w'));
         if ($this->fp) {
                        if(flock($this->fp, LOCK_EX)) {


Reply via email to