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 : 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
$bubble
protected
bool
$bubble
= true
$formatter
protected
FormatterInterface|null
$formatter
$level
protected
int
$level
= MonologLogger::DEBUG
Tags
$processors
protected
array<string|int, callable>
$processors
= []
Tags
$command
private
string
$command
$cwd
private
string|null
$cwd
$pipes
private
array<string|int, resource>
$pipes
= []
$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
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.
getFormatter()
{@inheritDoc}
public
getFormatter() : FormatterInterface
Return values
FormatterInterface —getLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : int
Tags
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 —popProcessor()
{@inheritDoc}
public
popProcessor() : callable
Return values
callable —pushProcessor()
{@inheritDoc}
public
pushProcessor(callable $callback) : HandlerInterface
Parameters
- $callback : callable
Return values
HandlerInterface —reset()
public
reset() : void
Return values
void —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()
{@inheritDoc}
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Return values
HandlerInterface —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 —getDefaultFormatter()
Gets the default formatter.
protected
getDefaultFormatter() : FormatterInterface
Overwrite this if the LineFormatter is not a good default for your handler.
Return values
FormatterInterface —processRecord()
Processes a record.
protected
processRecord(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
- $record : array<string|int, mixed>
Tags
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.
resetProcessors()
protected
resetProcessors() : void
Return values
void —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