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
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
$bubble
protected
mixed
$bubble
= true
$formatter
protected
FormatterInterface
$formatter
$level
protected
mixed
$level
= MonologLogger::DEBUG
$processors
protected
mixed
$processors
= array()
$command
private
string
$command
$cwd
private
string|null
$cwd
$pipes
private
array<string|int, mixed>
$pipes
= []
$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
Return values
mixed —__destruct()
public
__destruct() : 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.
getFormatter()
Gets the formatter.
public
getFormatter() : FormatterInterface
Return values
FormatterInterface —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 —reset()
public
reset() : mixed
Return values
mixed —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 —setFormatter()
Sets the formatter.
public
setFormatter(FormatterInterface $formatter) : self
Parameters
- $formatter : FormatterInterface
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 —getDefaultFormatter()
Gets the default formatter.
protected
getDefaultFormatter() : FormatterInterface
Return values
FormatterInterface —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
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
Return values
void —writeProcessInput()
Writes to the input stream of the opened process.
protected
writeProcessInput(string $string) : void
Parameters
- $string : string
Tags
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
Return values
void —startProcess()
Starts the actual process and sets all streams to non-blocking.
private
startProcess() : void