Documentation

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
author

Christophe Coevoet stof@notk.org

Jordi Boggiano j.boggiano@seld.be

Table of Contents

Constants

FILE_PER_DAY  : mixed = 'Y-m-d'
FILE_PER_MONTH  : mixed = 'Y-m'
FILE_PER_YEAR  : mixed = 'Y'
DEFAULT_CHUNK_SIZE  : mixed = 10 * 1024 * 1024
10MB
MAX_CHUNK_SIZE  : mixed = 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

DEFAULT_CHUNK_SIZE

10MB

protected mixed DEFAULT_CHUNK_SIZE = 10 * 1024 * 1024

Properties

$processors

protected array<string|int, callable> $processors = []
Tags
phpstan-var

array<(callable(LogRecord): LogRecord)|ProcessorInterface>

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

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.

getLevel()

Gets minimum logging level at which this handler will be triggered.

public getLevel() : Level
Return values
Level

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()

Handles a record.

public handle(LogRecord $record) : bool
Parameters
$record : LogRecord

The record to handle

Tags
inheritDoc
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
inheritDoc

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
inheritDoc
Return values
bool

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
$this

setFilenameFormat()

public setFilenameFormat(string $filenameFormat, string $dateFormat) : $this
Parameters
$filenameFormat : string
$dateFormat : string
Return values
$this

setLevel()

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
phpstan-param

value-ofLevel::VALUES|value-ofLevel::NAMES|Level|LogLevel::* $level

Return values
$this

getNextRotation()

protected getNextRotation() : DateTimeImmutable
Return values
DateTimeImmutable

setDateFormat()

protected setDateFormat(string $dateFormat) : void
Parameters
$dateFormat : string

write()

Writes the (already formatted) record down to the log of the implementing handler

protected write(LogRecord $record) : void
Parameters
$record : LogRecord
Tags
inheritDoc
On this page

Search results