You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by ku...@apache.org on 2009/04/29 21:50:46 UTC

svn commit: r769899 - in /incubator/log4php/trunk: CHANGELOG src/main/php/appenders/LoggerAppenderFile.php

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)) {