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

author

Jordi Boggiano j.boggiano@seld.be

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

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