1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-07 05:36:45 +02:00

Merge pull request #343 from pankaj-garg/filePermissions

option to set file permissions in rotatingFileHandler
This commit is contained in:
Jordi Boggiano
2014-03-26 12:12:35 +01:00
2 changed files with 14 additions and 8 deletions

View File

@@ -33,11 +33,12 @@ class RotatingFileHandler extends StreamHandler
/**
* @param string $filename
* @param integer $maxFiles The maximal amount of files to keep (0 means unlimited)
* @param integer $level The minimum logging level at which this handler will be triggered
* @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
* @param integer $maxFiles The maximal amount of files to keep (0 means unlimited)
* @param integer $level The minimum logging level at which this handler will be triggered
* @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
* @param int $filePermissions Optional file permissions (default (0644) are only for owner read/write)
*/
public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true)
public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = 0644)
{
$this->filename = $filename;
$this->maxFiles = (int) $maxFiles;
@@ -45,7 +46,7 @@ class RotatingFileHandler extends StreamHandler
$this->filenameFormat = '{filename}-{date}';
$this->dateFormat = 'Y-m-d';
parent::__construct($this->getTimedFilename(), $level, $bubble);
parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission);
}
/**

View File

@@ -25,13 +25,15 @@ class StreamHandler extends AbstractProcessingHandler
protected $stream;
protected $url;
private $errorMessage;
protected $filePermission;
/**
* @param string $stream
* @param integer $level The minimum logging level at which this handler will be triggered
* @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
* @param integer $level The minimum logging level at which this handler will be triggered
* @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
* @param int $filePermissions Optional file permissions (default (0644) are only for owner read/write)
*/
public function __construct($stream, $level = Logger::DEBUG, $bubble = true)
public function __construct($stream, $level = Logger::DEBUG, $bubble = true, $filePermission = 0644)
{
parent::__construct($level, $bubble);
if (is_resource($stream)) {
@@ -39,6 +41,8 @@ class StreamHandler extends AbstractProcessingHandler
} else {
$this->url = $stream;
}
$this->filePermission = $filePermission;
}
/**
@@ -64,6 +68,7 @@ class StreamHandler extends AbstractProcessingHandler
$this->errorMessage = null;
set_error_handler(array($this, 'customErrorHandler'));
$this->stream = fopen($this->url, 'a');
@chmod($this->url, $this->filePermission);
restore_error_handler();
if (!is_resource($this->stream)) {
$this->stream = null;