Changeset 1047

Show
Ignore:
Timestamp:
11/17/07 12:36:59 (9 months ago)
Author:
mikey
Message:

added possibility to set file mode for newly created directories in stubFileLogAppender
added stubMemoryLogAppender to integration test and fixed bug not returning an array from getConfig()
whitespace fixes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/config/xml/logging.xml

    r229 r1047  
    55    xmlns="http://stubbles.net/util/log"> 
    66  <logger id="default" level="15"> 
    7     <logAppender type="net.stubbles.util.log.stubFileLogAppender"> 
    8       <cfg:stubConfig name="logDir" method="getLogPath" /> 
    9     </logAppender> 
     7    <fileLogAppender mode="0777"> 
     8      <cfg:stubConfig name="logDir" method="getLogPath" append="/{Y}/{M}"/> 
     9    </fileLogAppender> 
     10    <logAppender type="net.stubbles.util.log.stubMemoryLogAppender"/> 
    1011  </logger> 
    1112</xj:configuration> 
  • trunk/src/main/php/net/stubbles/util/log/stubFileLogAppender.php

    r815 r1047  
    2727     */ 
    2828    protected $logDir = ''; 
     29    /** 
     30     * mode for new directories 
     31     * 
     32     * @var  int 
     33     */ 
     34    protected $mode   = 0700; 
    2935 
    3036    /** 
     
    5258            $this->logDir = $config['logDir']; 
    5359        } 
     60         
     61        if (isset($config['mode']) === true) { 
     62            $this->mode = $config['mode']; 
     63        } 
    5464    } 
    5565 
     
    6171    public function getConfig() 
    6272    { 
    63         return array('logDir' => $this->logDir); 
     73        return array('logDir' => $this->logDir, 
     74                     'mode'   => $this->mode 
     75               ); 
    6476    } 
    6577 
     
    89101 
    90102    /** 
     103     * sets the mode for new log directories 
     104     * 
     105     * @param  int  $mode 
     106     */ 
     107    public function setMode($mode) 
     108    { 
     109        $this->mode = $mode; 
     110    } 
     111 
     112    /** 
     113     * returns the mode for new log directories 
     114     * 
     115     * @return  int 
     116     */ 
     117    public function getMode() 
     118    { 
     119        return $this->mode; 
     120    } 
     121 
     122    /** 
    91123     * builds the log directory 
    92124     * 
     
    110142        $logDir  = $this->buildLogDir(); 
    111143        if (file_exists($logDir) == false) { 
    112             mkdir($logDir, 0700, true); 
     144            mkdir($logDir, $this->mode, true); 
    113145        } 
    114146         
  • trunk/src/main/php/net/stubbles/util/log/stubMemoryLogAppender.php

    r1046 r1047  
    2121     */ 
    2222    protected $logDataStorage = array(); 
    23      
     23 
    2424    /** 
    2525     * getter method 
     
    3131        return $this->logDataStorage;     
    3232    } 
    33      
     33 
    3434    /** 
    3535     * nothing to configure 
     
    3737     * @param  array  $config 
    3838     */ 
    39     public function setConfig(array $config) {} 
     39    public function setConfig(array $config) 
     40    { 
     41        // intentionally empty 
     42    } 
    4043 
    4144    /** 
     
    4447     * @return  array 
    4548     */ 
    46     public function getConfig() {} 
     49    public function getConfig() 
     50    { 
     51        return array(); 
     52    } 
    4753 
    4854    /** 
  • trunk/src/main/resources/xjconf/logging.xml

    r147 r1047  
    11<?xml version="1.0" encoding="iso-8859-1"?> 
    22<defines> 
    3   <tag name="logDir" type="string" /> 
     3  <tag name="logDir" type="string"/> 
    44  <namespace uri="http://stubbles.net/util/log"> 
    5     <tag name="logger" type="net.stubbles.util.log.stubLogger"> 
    6       <factoryMethod name="getInstance"> 
    7         <attribute name="id" type="string" /> 
    8         <attribute name="level" type="int" /> 
    9       </factoryMethod> 
    10     </tag> 
    11     <abstractTag name="logAppender" abstractType="net.stubbles.util.log.stubLogAppender" concreteTypeAttribute="type" setter="addLogAppender" /> 
     5    <tag name="logger" type="net.stubbles.util.log.stubLogger"> 
     6      <factoryMethod name="getInstance"> 
     7        <attribute name="id" type="string"/> 
     8        <attribute name="level" type="int"/> 
     9      </factoryMethod> 
     10    </tag> 
     11    <abstractTag name="logAppender" abstractType="net.stubbles.util.log.stubLogAppender" concreteTypeAttribute="type" setter="addLogAppender"/> 
     12    <tag name="fileLogAppender" type="net.stubbles.util.log.stubFileLogAppender" setter="addLogAppender"> 
     13      <attribute name="mode" type="string"/> 
     14    </tag> 
    1215  </namespace> 
    1316</defines> 
  • trunk/src/test/php/net/stubbles/integration/LoggerTestCase.php

    r562 r1047  
    3535        $loggerXJConfFactory->init(); 
    3636        $this->assertEqual(stubLogger::getInstanceList(), array(stubLogger::DEFAULT_ID)); 
    37         $logger = stubLogger::getInstance(); 
    38         $logAppenders = $logger->getLogAppenders(); 
    39         $this->assertEqual(count($logAppenders), 1); 
     37        $logAppenders = stubLogger::getInstance()->getLogAppenders(); 
     38        $this->assertEqual(count($logAppenders), 2); 
    4039        $this->assertIsA($logAppenders[0], 'stubFileLogAppender'); 
    41         $this->assertEqual($logAppenders[0]->getLogDir(), stubConfig::getLogPath()); 
     40        $this->assertEqual($logAppenders[0]->getLogDir(), stubConfig::getLogPath() . '/{Y}/{M}'); 
     41        $this->assertEqual($logAppenders[0]->getMode(), '0777'); 
     42        $this->assertIsA($logAppenders[1], 'stubMemoryLogAppender'); 
    4243    } 
    4344}