RotatingFileHandler
extends StreamHandler
in package
Stores logs to files that are rotated every day and a limited number of files are kept.
This rotation is only intended to be used as a workaround. Using logrotate to handle the rotation is strongly encouraged when you can use it.
Tags
Table of Contents
- FILE_PER_DAY = 'Y-m-d'
- FILE_PER_MONTH = 'Y-m'
- FILE_PER_YEAR = 'Y'
- DEFAULT_CHUNK_SIZE = 10 * 1024 * 1024
- MAX_CHUNK_SIZE = 2147483647
- $bubble : bool
- $dateFormat : string
- $filename : string
- $filenameFormat : string
- $filePermission : int|null
- $formatter : FormatterInterface|null
- $level : int
- $maxFiles : int
- $mustRotate : bool
- $nextRotation : DateTimeImmutable
- $processors : array<string|int, callable>
- $stream : resource|null
- $streamChunkSize : int
- $url : string|null
- $useLocking : bool
- $dirCreated : true|null
- $errorMessage : string|null
- __construct() : mixed
- __destruct() : mixed
- __sleep() : mixed
- close() : void
- {@inheritDoc}
- getBubble() : bool
- Gets the bubbling behavior.
- getFormatter() : FormatterInterface
- {@inheritDoc}
- getLevel() : int
- Gets minimum logging level at which this handler will be triggered.
- getStream() : resource|null
- Return the currently active stream if it is open
- getStreamChunkSize() : int
- getUrl() : string|null
- Return the stream URL if it was configured with a URL and not an active resource
- handle() : bool
- {@inheritDoc}
- handleBatch() : void
- Handles a set of records at once.
- isHandling() : bool
- {@inheritDoc}
- popProcessor() : callable
- {@inheritDoc}
- pushProcessor() : HandlerInterface
- {@inheritDoc}
- reset() : mixed
- {@inheritDoc}
- setBubble() : self
- Sets the bubbling behavior.
- setFilenameFormat() : self
- setFormatter() : HandlerInterface
- {@inheritDoc}
- setLevel() : self
- Sets minimum logging level at which this handler will be triggered.
- getDefaultFormatter() : FormatterInterface
- Gets the default formatter.
- getGlobPattern() : string
- getTimedFilename() : string
- processRecord() : array<string|int, mixed>
- Processes a record.
- resetProcessors() : void
- rotate() : void
- Rotates the files.
- streamWrite() : void
- Write to stream
- write() : void
- Writes the record down to the log of the implementing handler
- createDir() : void
- customErrorHandler() : bool
- getDirFromStream() : string|null
Constants
FILE_PER_DAY
public
mixed
FILE_PER_DAY
= 'Y-m-d'
FILE_PER_MONTH
public
mixed
FILE_PER_MONTH
= 'Y-m'
FILE_PER_YEAR
public
mixed
FILE_PER_YEAR
= 'Y'
DEFAULT_CHUNK_SIZE
protected
mixed
DEFAULT_CHUNK_SIZE
= 10 * 1024 * 1024
Tags
MAX_CHUNK_SIZE
protected
mixed
MAX_CHUNK_SIZE
= 2147483647
Tags
Properties
$bubble
protected
bool
$bubble
= true
$dateFormat
protected
string
$dateFormat
$filename
protected
string
$filename
$filenameFormat
protected
string
$filenameFormat
$filePermission
protected
int|null
$filePermission
$formatter
protected
FormatterInterface|null
$formatter
$level
protected
int
$level
= MonologLogger::DEBUG
Tags
$maxFiles
protected
int
$maxFiles
$mustRotate
protected
bool
$mustRotate
$nextRotation
protected
DateTimeImmutable
$nextRotation
$processors
protected
array<string|int, callable>
$processors
= []
Tags
$stream
protected
resource|null
$stream
$streamChunkSize
protected
int
$streamChunkSize
$url
protected
string|null
$url
= null
$useLocking
protected
bool
$useLocking
$dirCreated
private
true|null
$dirCreated
= null
$errorMessage
private
string|null
$errorMessage
= null
Methods
__construct()
public
__construct(string $filename, int $maxFiles[, mixed $level = Logger::DEBUG ][, bool $bubble = true ][, int|null $filePermission = null ][, bool $useLocking = false ]) : mixed
Parameters
- $filename : string
- $maxFiles : int
-
The maximal amount of files to keep (0 means unlimited)
- $level : mixed = Logger::DEBUG
- $bubble : bool = true
- $filePermission : int|null = null
-
Optional file permissions (default (0644) are only for owner read/write)
- $useLocking : bool = false
-
Try to lock log file before doing any writes
Return values
mixed —__destruct()
public
__destruct() : mixed
Return values
mixed —__sleep()
public
__sleep() : mixed
Return values
mixed —close()
{@inheritDoc}
public
close() : void
Return values
void —getBubble()
Gets the bubbling behavior.
public
getBubble() : bool
Return values
bool —true means that this handler allows bubbling. false means that bubbling is not permitted.
getFormatter()
{@inheritDoc}
public
getFormatter() : FormatterInterface
Return values
FormatterInterface —getLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : int
Tags
Return values
int —getStream()
Return the currently active stream if it is open
public
getStream() : resource|null
Return values
resource|null —getStreamChunkSize()
public
getStreamChunkSize() : int
Return values
int —getUrl()
Return the stream URL if it was configured with a URL and not an active resource
public
getUrl() : string|null
Return values
string|null —handle()
{@inheritDoc}
public
handle(array<string|int, mixed> $record) : bool
Parameters
- $record : array<string|int, mixed>
Return values
bool —handleBatch()
Handles a set of records at once.
public
handleBatch(array<string|int, mixed> $records) : void
Parameters
- $records : array<string|int, mixed>
-
The records to handle (an array of record arrays)
Return values
void —isHandling()
{@inheritDoc}
public
isHandling(array<string|int, mixed> $record) : bool
Parameters
- $record : array<string|int, mixed>
Return values
bool —popProcessor()
{@inheritDoc}
public
popProcessor() : callable
Return values
callable —pushProcessor()
{@inheritDoc}
public
pushProcessor(callable $callback) : HandlerInterface
Parameters
- $callback : callable
Return values
HandlerInterface —reset()
{@inheritDoc}
public
reset() : mixed
Return values
mixed —setBubble()
Sets the bubbling behavior.
public
setBubble(bool $bubble) : self
Parameters
- $bubble : bool
-
true means that this handler allows bubbling. false means that bubbling is not permitted.
Return values
self —setFilenameFormat()
public
setFilenameFormat(string $filenameFormat, string $dateFormat) : self
Parameters
- $filenameFormat : string
- $dateFormat : string
Return values
self —setFormatter()
{@inheritDoc}
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Return values
HandlerInterface —setLevel()
Sets minimum logging level at which this handler will be triggered.
public
setLevel(Level|LevelName|\Psr\Log\LogLevel::* $level) : self
Parameters
- $level : Level|LevelName|\Psr\Log\LogLevel::*
-
Level or level name
Return values
self —getDefaultFormatter()
Gets the default formatter.
protected
getDefaultFormatter() : FormatterInterface
Overwrite this if the LineFormatter is not a good default for your handler.
Return values
FormatterInterface —getGlobPattern()
protected
getGlobPattern() : string
Return values
string —getTimedFilename()
protected
getTimedFilename() : string
Return values
string —processRecord()
Processes a record.
protected
processRecord(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
- $record : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —resetProcessors()
protected
resetProcessors() : void
Return values
void —rotate()
Rotates the files.
protected
rotate() : void
Return values
void —streamWrite()
Write to stream
protected
streamWrite(resource $stream, array<string|int, mixed> $record) : void
Parameters
- $stream : resource
- $record : array<string|int, mixed>
Tags
Return values
void —write()
Writes the record down to the log of the implementing handler
protected
write(array<string|int, mixed> $record) : void
Parameters
- $record : array<string|int, mixed>
Return values
void —createDir()
private
createDir(string $url) : void
Parameters
- $url : string
Return values
void —customErrorHandler()
private
customErrorHandler(int $code, string $msg) : bool
Parameters
- $code : int
- $msg : string
Return values
bool —getDirFromStream()
private
getDirFromStream(string $stream) : string|null
Parameters
- $stream : string