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  : mixed
$formatter  : FormatterInterface
$level  : mixed
$processors  : mixed
$command  : string
$cwd  : string|null
$pipes  : array<string|int, mixed>
$process  : resource|bool|null
Holds the process to receive data on its STDIN.
__construct()  : mixed
__destruct()  : mixed
close()  : void
{@inheritdoc}
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
Gets the formatter.
getLevel()  : int
Gets minimum logging level at which this handler will be triggered.
handle()  : mixed
{@inheritdoc}
handleBatch()  : mixed
Handles a set of records at once.
isHandling()  : bool
Checks whether the given record will be handled by this handler.
popProcessor()  : callable
Removes the processor on top of the stack and returns it.
pushProcessor()  : self
Adds a processor in the stack.
reset()  : mixed
setBubble()  : self
Sets the bubbling behavior.
setFormatter()  : self
Sets the formatter.
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.
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<string|int, mixed> 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

$process

Holds the process to receive data on its STDIN.

private resource|bool|null $process

Methods

__construct()

public __construct(string $command[, string|int $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 : string|int = Logger::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.

$cwd : string|null = null

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

Tags
throws
InvalidArgumentException
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
Return values
int —

handle()

{@inheritdoc}

public handle(array<string|int, mixed> $record) : mixed
Parameters
$record : array<string|int, mixed>
Return values
mixed —

handleBatch()

Handles a set of records at once.

public handleBatch(array<string|int, mixed> $records) : mixed
Parameters
$records : array<string|int, mixed>

The records to handle (an array of record arrays)

Return values
mixed —

isHandling()

Checks whether the given record will be handled by this handler.

public isHandling(array<string|int, mixed> $record) : bool
Parameters
$record : array<string|int, mixed>

Partial log record containing only a level key

Return values
bool —

popProcessor()

Removes the processor on top of the stack and returns it.

public popProcessor() : callable
Return values
callable —

pushProcessor()

Adds a processor in the stack.

public pushProcessor(mixed $callback) : self
Parameters
$callback : mixed
Return values
self —

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(int|string $level) : self
Parameters
$level : int|string

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