Documentation

StreamHandler extends AbstractProcessingHandler
in package

Stores to any stream resource

Can be used to store into php://stderr, remote and local files, etc.

Tags
author

Jordi Boggiano j.boggiano@seld.be

Table of Contents

Constants

DEFAULT_CHUNK_SIZE  : mixed = 10 * 1024 * 1024
10MB
MAX_CHUNK_SIZE  : mixed = 2147483647

Properties

$bubble  : bool
$filePermission  : int|null
$formatter  : FormatterInterface|null
$level  : Level
$processors  : array<string|int, callable>
$stream  : resource|null
$streamChunkSize  : int
$url  : string|null
$useLocking  : bool
$dirCreated  : true|null
$errorMessage  : string|null

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.
setFormatter()  : HandlerInterface
setLevel()  : $this
Sets minimum logging level at which this handler will be triggered.
getDefaultFormatter()  : FormatterInterface
Gets the default formatter.
processRecord()  : LogRecord
resetProcessors()  : void
streamWrite()  : void
Write to stream
write()  : void
Writes the (already formatted) record down to the log of the implementing handler
createDir()  : void
customErrorHandler()  : bool
getDirFromStream()  : string|null

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(resource|string $stream[, int|string|Level $level = Level::Debug ][, bool $bubble = true ][, int|null $filePermission = null ][, bool $useLocking = false ]) : mixed
Parameters
$stream : resource|string

If a missing path can't be created, an UnexpectedValueException will be thrown on first write

$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

Tags
throws
InvalidArgumentException

If stream is not a resource or string

__destruct()

public __destruct() : mixed

close()

Closes the handler.

public close() : void
Tags
inheritDoc

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

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

write()

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

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

createDir()

private createDir(string $url) : void
Parameters
$url : string

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
Return values
string|null
On this page

Search results