Documentation

ProcessHandler extends AbstractProcessingHandler
in package

Stores to STDIN of any process, specified by a command.

Usage example:

$log = new Logger('myLogger');
$log->pushHandler(new ProcessHandler('/usr/bin/php /var/www/monolog/someScript.php'));
Tags
author

Kolja Zuelsdorf koljaz@web.de

Table of Contents

DESCRIPTOR_SPEC  = [ 0 => ['pipe', 'r'], // STDIN is a pipe that the child will read from 1 => ['pipe', 'w'], // STDOUT is a pipe that the child will write to 2 => ['pipe', 'w'], ]
$bubble  : bool
$formatter  : FormatterInterface|null
$level  : int
$processors  : array<string|int, callable>
$command  : string
$cwd  : string|null
$pipes  : array<string|int, resource>
$process  : resource|bool|null
Holds the process to receive data on its STDIN.
__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.
handle()  : bool
{@inheritDoc}
handleBatch()  : void
Handles a set of records at once.
isHandling()  : bool
{@inheritDoc}
popProcessor()  : callable
{@inheritDoc}
pushProcessor()  : HandlerInterface
{@inheritDoc}
reset()  : void
setBubble()  : self
Sets the bubbling behavior.
setFormatter()  : HandlerInterface
{@inheritDoc}
setLevel()  : self
Sets minimum logging level at which this handler will be triggered.
getDefaultFormatter()  : FormatterInterface
Gets the default formatter.
processRecord()  : array<string|int, mixed>
Processes a record.
readProcessErrors()  : string
Reads the errors of the process, if there are any.
resetProcessors()  : void
selectErrorStream()  : int|bool
Selects the STDERR stream.
write()  : void
Writes the record down to the log of the implementing handler
writeProcessInput()  : void
Writes to the input stream of the opened process.
ensureProcessIsStarted()  : void
Makes sure that the process is actually started, and if not, starts it, assigns the stream pipes, and handles startup errors, if any.
handleStartupErrors()  : void
Selects the STDERR stream, handles upcoming startup errors, and throws an exception, if any.
startProcess()  : void
Starts the actual process and sets all streams to non-blocking.

Constants

DESCRIPTOR_SPEC

protected array<int, array<string|int, string>> DESCRIPTOR_SPEC = [ 0 => ['pipe', 'r'], // STDIN is a pipe that the child will read from 1 => ['pipe', 'w'], // STDOUT is a pipe that the child will write to 2 => ['pipe', 'w'], ]

Properties

$level

protected int $level = MonologLogger::DEBUG
Tags
phpstan-var

Level

$processors

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

array<ProcessorInterface|callable(Record): Record>

$process

Holds the process to receive data on its STDIN.

private resource|bool|null $process

Methods

__construct()

public __construct(string $command[, mixed $level = Logger::DEBUG ][, bool $bubble = true ][, string|null $cwd = null ]) : mixed
Parameters
$command : string

Command for the process to start. Absolute paths are recommended, especially if you do not use the $cwd parameter.

$level : mixed = Logger::DEBUG
$bubble : bool = true
$cwd : string|null = null

"Current working directory" (CWD) for the process to be executed in.

Tags
throws
InvalidArgumentException
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.

getLevel()

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

public getLevel() : int
Tags
phpstan-return

Level

Return values
int

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

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

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

processRecord()

Processes a record.

protected processRecord(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
$record : array<string|int, mixed>
Tags
phpstan-param

Record $record

phpstan-return

Record

Return values
array<string|int, mixed>

readProcessErrors()

Reads the errors of the process, if there are any.

protected readProcessErrors() : string
Tags
codeCoverageIgnore
Return values
string

Empty string if there are no errors.

selectErrorStream()

Selects the STDERR stream.

protected selectErrorStream() : int|bool
Return values
int|bool

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>
Tags
throws
UnexpectedValueException
Return values
void

writeProcessInput()

Writes to the input stream of the opened process.

protected writeProcessInput(string $string) : void
Parameters
$string : string
Tags
codeCoverageIgnore
Return values
void

ensureProcessIsStarted()

Makes sure that the process is actually started, and if not, starts it, assigns the stream pipes, and handles startup errors, if any.

private ensureProcessIsStarted() : void
Return values
void

handleStartupErrors()

Selects the STDERR stream, handles upcoming startup errors, and throws an exception, if any.

private handleStartupErrors() : void
Tags
throws
UnexpectedValueException
Return values
void

startProcess()

Starts the actual process and sets all streams to non-blocking.

private startProcess() : void
Return values
void

Search results