1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-11 15:44:34 +02:00

option to set file permissions in rotatingFileHandler

This commit is contained in:
Pankaj Garg
2014-03-26 13:09:02 +05:30
parent 98b2d0ba0a
commit b2e2530406
2 changed files with 14 additions and 8 deletions

View File

@@ -33,11 +33,12 @@ class RotatingFileHandler extends StreamHandler
/** /**
* @param string $filename * @param string $filename
* @param integer $maxFiles The maximal amount of files to keep (0 means unlimited) * @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 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 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->filename = $filename;
$this->maxFiles = (int) $maxFiles; $this->maxFiles = (int) $maxFiles;
@@ -45,7 +46,7 @@ class RotatingFileHandler extends StreamHandler
$this->filenameFormat = '{filename}-{date}'; $this->filenameFormat = '{filename}-{date}';
$this->dateFormat = 'Y-m-d'; $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 $stream;
protected $url; protected $url;
private $errorMessage; private $errorMessage;
protected $filePermission;
/** /**
* @param string $stream * @param string $stream
* @param integer $level The minimum logging level at which this handler will be triggered * @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 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); parent::__construct($level, $bubble);
if (is_resource($stream)) { if (is_resource($stream)) {
@@ -39,6 +41,8 @@ class StreamHandler extends AbstractProcessingHandler
} else { } else {
$this->url = $stream; $this->url = $stream;
} }
$this->filePermission = $filePermission;
} }
/** /**
@@ -64,6 +68,7 @@ class StreamHandler extends AbstractProcessingHandler
$this->errorMessage = null; $this->errorMessage = null;
set_error_handler(array($this, 'customErrorHandler')); set_error_handler(array($this, 'customErrorHandler'));
$this->stream = fopen($this->url, 'a'); $this->stream = fopen($this->url, 'a');
@chmod($this->url, $this->filePermission);
restore_error_handler(); restore_error_handler();
if (!is_resource($this->stream)) { if (!is_resource($this->stream)) {
$this->stream = null; $this->stream = null;