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
Constants
- FILE_PER_DAY = 'Y-m-d'
- FILE_PER_MONTH = 'Y-m'
- FILE_PER_YEAR = 'Y'
- DEFAULT_CHUNK_SIZE = 10 * 1024 * 1024
- 10MB
- MAX_CHUNK_SIZE = 2147483647
Properties
- $bubble : bool
- $dateFormat : string
- $filename : string
- $filenameFormat : string
- $filePermission : int|null
- $formatter : FormatterInterface|null
- $level : Level
- $maxFiles : int
- $mustRotate : bool|null
- $nextRotation : DateTimeImmutable
- $processors : array<string|int, callable>
- $stream : resource|null
- $streamChunkSize : int
- $url : string|null
- $useLocking : bool
Methods
- __construct() : mixed
- __destruct() : mixed
- __sleep() : mixed
- close() : void
- Closes the handler.
- getBubble() : bool
- Gets the bubbling behavior.
- getFormatter() : FormatterInterface
- getLevel() : Level
- 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
- Handles a record.
- handleBatch() : void
- Handles a set of records at once.
- isHandling() : bool
- Checks whether the given record will be handled by this handler.
- popProcessor() : callable
- pushProcessor() : HandlerInterface
- reset() : void
- setBubble() : $this
- Sets the bubbling behavior.
- setFilenameFormat() : $this
- setFormatter() : HandlerInterface
- setLevel() : $this
- Sets minimum logging level at which this handler will be triggered.
- getDefaultFormatter() : FormatterInterface
- Gets the default formatter.
- getGlobPattern() : string
- getNextRotation() : DateTimeImmutable
- getTimedFilename() : string
- processRecord() : LogRecord
- resetProcessors() : void
- rotate() : void
- Rotates the files.
- setDateFormat() : void
- streamWrite() : void
- Write to stream
- write() : void
- Writes the (already formatted) record down to the log of the implementing handler
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
10MB
protected
mixed
DEFAULT_CHUNK_SIZE
= 10 * 1024 * 1024
MAX_CHUNK_SIZE
protected
mixed
MAX_CHUNK_SIZE
= 2147483647
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
= null
$level
protected
Level
$level
= \Monolog\Level::Debug
$maxFiles
protected
int
$maxFiles
$mustRotate
protected
bool|null
$mustRotate
= null
$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
Methods
__construct()
public
__construct(string $filename[, int $maxFiles = 0 ][, int|string|Level $level = Level::Debug ][, bool $bubble = true ][, int|null $filePermission = null ][, bool $useLocking = false ][, string $dateFormat = self::FILE_PER_DAY ][, string $filenameFormat = '{filename}-{date}' ]) : mixed
Parameters
- $filename : string
- $maxFiles : int = 0
-
The maximal amount of files to keep (0 means unlimited)
- $level : int|string|Level = Level::Debug
-
The minimum logging level at which this handler will be triggered
- $bubble : bool = true
-
Whether the messages that are handled can bubble up the stack or not
- $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
- $dateFormat : string = self::FILE_PER_DAY
- $filenameFormat : string = '{filename}-{date}'
__destruct()
public
__destruct() : mixed
__sleep()
public
__sleep() : mixed
close()
Closes the handler.
public
close() : void
Tags
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()
public
getFormatter() : FormatterInterface
Tags
Return values
FormatterInterfacegetLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : Level
Return values
LevelgetStream()
Return the currently active stream if it is open
public
getStream() : resource|null
Return values
resource|nullgetStreamChunkSize()
public
getStreamChunkSize() : int
Return values
intgetUrl()
Return the stream URL if it was configured with a URL and not an active resource
public
getUrl() : string|null
Return values
string|nullhandle()
Handles a record.
public
handle(LogRecord $record) : bool
Parameters
- $record : LogRecord
-
The record to handle
Tags
Return values
bool —true means that this handler handled the record, and that bubbling is not permitted. false means the record was either not processed or that this handler allows bubbling.
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
Tags
isHandling()
Checks whether the given record will be handled by this handler.
public
isHandling(LogRecord $record) : bool
Parameters
- $record : LogRecord
-
Partial log record having only a level initialized
Tags
Return values
boolpopProcessor()
public
popProcessor() : callable
Tags
Return values
callablepushProcessor()
public
pushProcessor(callable $callback) : HandlerInterface
Parameters
- $callback : callable
Tags
Return values
HandlerInterfacereset()
public
reset() : void
Tags
setBubble()
Sets the bubbling behavior.
public
setBubble(bool $bubble) : $this
Parameters
- $bubble : bool
-
true means that this handler allows bubbling. false means that bubbling is not permitted.
Return values
$thissetFilenameFormat()
public
setFilenameFormat(string $filenameFormat, string $dateFormat) : $this
Parameters
- $filenameFormat : string
- $dateFormat : string
Return values
$thissetFormatter()
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Tags
Return values
HandlerInterfacesetLevel()
Sets minimum logging level at which this handler will be triggered.
public
setLevel(Level|LogLevel::* $level) : $this
Parameters
- $level : Level|LogLevel::*
-
Level or level name
Tags
Return values
$thisgetDefaultFormatter()
Gets the default formatter.
protected
getDefaultFormatter() : FormatterInterface
Overwrite this if the LineFormatter is not a good default for your handler.
Return values
FormatterInterfacegetGlobPattern()
protected
getGlobPattern() : string
Return values
stringgetNextRotation()
protected
getNextRotation() : DateTimeImmutable
Return values
DateTimeImmutablegetTimedFilename()
protected
getTimedFilename() : string
Return values
stringprocessRecord()
protected
processRecord(LogRecord $record) : LogRecord
Parameters
- $record : LogRecord
Return values
LogRecordresetProcessors()
protected
resetProcessors() : void
rotate()
Rotates the files.
protected
rotate() : void
setDateFormat()
protected
setDateFormat(string $dateFormat) : void
Parameters
- $dateFormat : string
streamWrite()
Write to stream
protected
streamWrite(resource $stream, LogRecord $record) : void
Parameters
- $stream : resource
- $record : LogRecord
write()
Writes the (already formatted) record down to the log of the implementing handler
protected
write(LogRecord $record) : void
Parameters
- $record : LogRecord