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
Constants
- 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 : 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.
Methods
- __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
= \Monolog\Logger::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
__destruct()
public
__destruct() : mixed
__sleep()
public
__sleep() : mixed
close()
{@inheritDoc}
public
close() : 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
FormatterInterfacegetLevel()
Gets minimum logging level at which this handler will be triggered.
public
getLevel() : int
Tags
Return values
inthandle()
{@inheritDoc}
public
handle(array<string|int, mixed> $record) : bool
Parameters
- $record : array<string|int, mixed>
Return values
boolhandleBatch()
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)
isHandling()
{@inheritDoc}
public
isHandling(array<string|int, mixed> $record) : bool
Parameters
- $record : array<string|int, mixed>
Return values
boolpopProcessor()
{@inheritDoc}
public
popProcessor() : callable
Return values
callablepushProcessor()
{@inheritDoc}
public
pushProcessor(callable $callback) : HandlerInterface
Parameters
- $callback : callable
Return values
HandlerInterfacereset()
public
reset() : 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
selfsetFormatter()
{@inheritDoc}
public
setFormatter(FormatterInterface $formatter) : HandlerInterface
Parameters
- $formatter : FormatterInterface
Return values
HandlerInterfacesetLevel()
Sets minimum logging level at which this handler will be triggered.
public
setLevel(Level|LevelName|LogLevel::* $level) : self
Parameters
- $level : Level|LevelName|LogLevel::*
-
Level or level name
Return values
selfgetDefaultFormatter()
Gets the default formatter.
protected
getDefaultFormatter() : FormatterInterface
Overwrite this if the LineFormatter is not a good default for your handler.
Return values
FormatterInterfaceprocessRecord()
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
selectErrorStream()
Selects the STDERR stream.
protected
selectErrorStream() : int|bool
Return values
int|boolwrite()
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
writeProcessInput()
Writes to the input stream of the opened process.
protected
writeProcessInput(string $string) : void
Parameters
- $string : string
Tags
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
handleStartupErrors()
Selects the STDERR stream, handles upcoming startup errors, and throws an exception, if any.
private
handleStartupErrors() : void
Tags
startProcess()
Starts the actual process and sets all streams to non-blocking.
private
startProcess() : void