ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
Whoops\Handler\PlainTextHandler Class Reference

Handler outputing plaintext error messages. More...

+ Inheritance diagram for Whoops\Handler\PlainTextHandler:
+ Collaboration diagram for Whoops\Handler\PlainTextHandler:

Public Member Functions

 __construct ($logger=null)
 Constructor. More...
 
 setLogger ($logger=null)
 Set the output logger interface. More...
 
 getLogger ()
 
 setDumper (callable $dumper)
 Set var dumper callback function. More...
 
 addTraceToOutput ($addTraceToOutput=null)
 Add error trace to output. More...
 
 addTraceFunctionArgsToOutput ($addTraceFunctionArgsToOutput=null)
 Add error trace function arguments to output. More...
 
 setTraceFunctionArgsOutputLimit ($traceFunctionArgsOutputLimit)
 
 generateResponse ()
 Create plain text response and return it as a string. More...
 
 getTraceFunctionArgsOutputLimit ()
 Get the size limit in bytes of frame arguments var_dump output. More...
 
 loggerOnly ($loggerOnly=null)
 Only output to logger. More...
 
 handle ()
 
 contentType ()
 
- Public Member Functions inherited from Whoops\Handler\Handler
 setRun (RunInterface $run)
 
 setInspector (Inspector $inspector)
 
 setException ($exception)
 

Data Fields

const VAR_DUMP_PREFIX = ' | '
 
- Data Fields inherited from Whoops\Handler\Handler
const DONE = 0x10
 
const LAST_HANDLER = 0x20
 The Handler has handled the Throwable in some way, and wishes to skip any other Handler. More...
 
const QUIT = 0x30
 The Handler has handled the Throwable in some way, and wishes to quit/stop execution. More...
 

Protected Member Functions

 dump ($var)
 Dump variable. More...
 
- Protected Member Functions inherited from Whoops\Handler\Handler
 getRun ()
 
 getInspector ()
 
 getException ()
 

Protected Attributes

 $logger
 
 $dumper
 

Private Member Functions

 canOutput ()
 Test if handler can output to stdout. More...
 
 getFrameArgsOutput (Frame $frame, $line)
 Get the frame args var_dump. More...
 

Private Attributes

 $addTraceToOutput = true
 
 $addTraceFunctionArgsToOutput = false
 
 $traceFunctionArgsOutputLimit = 1024
 
 $loggerOnly = false
 

Detailed Description

Handler outputing plaintext error messages.

Can be used directly, or will be instantiated automagically by Whoops if passed to Run::pushHandler

Definition at line 20 of file PlainTextHandler.php.

Constructor & Destructor Documentation

◆ __construct()

Whoops\Handler\PlainTextHandler::__construct (   $logger = null)

Constructor.

Exceptions
InvalidArgumentExceptionIf argument is not null or a LoggerInterface
Parameters
\Psr\Log\LoggerInterface | null$logger

Definition at line 59 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$logger, and Whoops\Handler\PlainTextHandler\setLogger().

60  {
61  $this->setLogger($logger);
62  }
setLogger($logger=null)
Set the output logger interface.
+ Here is the call graph for this function:

Member Function Documentation

◆ addTraceFunctionArgsToOutput()

Whoops\Handler\PlainTextHandler::addTraceFunctionArgsToOutput (   $addTraceFunctionArgsToOutput = null)

Add error trace function arguments to output.

Set to True for all frame args, or integer for the n first frame args.

Parameters
bool | integer | null$addTraceFunctionArgsToOutput
Returns
null|bool|integer

Definition at line 123 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$addTraceFunctionArgsToOutput.

Referenced by Whoops\Handler\PlainTextHandler\getFrameArgsOutput().

124  {
125  if (func_num_args() == 0) {
127  }
128 
129  if (! is_integer($addTraceFunctionArgsToOutput)) {
131  } else {
133  }
134  }
addTraceFunctionArgsToOutput($addTraceFunctionArgsToOutput=null)
Add error trace function arguments to output.
+ Here is the caller graph for this function:

◆ addTraceToOutput()

Whoops\Handler\PlainTextHandler::addTraceToOutput (   $addTraceToOutput = null)

Add error trace to output.

Parameters
bool | null$addTraceToOutput
Returns
bool|$this

Definition at line 107 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$addTraceToOutput.

Referenced by Whoops\Handler\PlainTextHandler\dump().

108  {
109  if (func_num_args() == 0) {
111  }
112 
113  $this->addTraceToOutput = (bool) $addTraceToOutput;
114  return $this;
115  }
addTraceToOutput($addTraceToOutput=null)
Add error trace to output.
+ Here is the caller graph for this function:

◆ canOutput()

Whoops\Handler\PlainTextHandler::canOutput ( )
private

Test if handler can output to stdout.

Returns
bool

Definition at line 193 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\loggerOnly().

Referenced by Whoops\Handler\PlainTextHandler\handle().

194  {
195  return !$this->loggerOnly();
196  }
loggerOnly($loggerOnly=null)
Only output to logger.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ contentType()

Whoops\Handler\PlainTextHandler::contentType ( )
Returns
string

Definition at line 310 of file PlainTextHandler.php.

311  {
312  return 'text/plain';
313  }

◆ dump()

Whoops\Handler\PlainTextHandler::dump (   $var)
protected

Dump variable.

Parameters
mixed$var
Returns
void

Definition at line 237 of file PlainTextHandler.php.

References Whoops\Handler\Handler\$inspector, Whoops\Handler\PlainTextHandler\addTraceToOutput(), Whoops\Handler\PlainTextHandler\getFrameArgsOutput(), and Whoops\Handler\Handler\getInspector().

Referenced by Whoops\Handler\PlainTextHandler\getFrameArgsOutput().

238  {
239  if ($this->dumper) {
240  call_user_func($this->dumper, $var);
241  } else {
242  var_dump($var);
243  }
244  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ generateResponse()

Whoops\Handler\PlainTextHandler::generateResponse ( )

Create plain text response and return it as a string.

Returns
string

Definition at line 151 of file PlainTextHandler.php.

References Whoops\Handler\Handler\$exception, and Whoops\Handler\Handler\getException().

Referenced by Whoops\Handler\PlainTextHandler\handle().

152  {
153  $exception = $this->getException();
154  return sprintf(
155  "%s: %s in file %s on line %d%s\n",
156  get_class($exception),
157  $exception->getMessage(),
158  $exception->getFile(),
159  $exception->getLine(),
160  $this->getTraceOutput()
161  );
162  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFrameArgsOutput()

Whoops\Handler\PlainTextHandler::getFrameArgsOutput ( Frame  $frame,
  $line 
)
private

Get the frame args var_dump.

Parameters
\Whoops\Exception\Frame$frame[description]
integer$line[description]
Returns
string

Definition at line 204 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\addTraceFunctionArgsToOutput(), Whoops\Handler\PlainTextHandler\dump(), Whoops\Exception\Frame\getArgs(), and Whoops\Handler\PlainTextHandler\getTraceFunctionArgsOutputLimit().

Referenced by Whoops\Handler\PlainTextHandler\dump().

205  {
206  if ($this->addTraceFunctionArgsToOutput() === false
207  || $this->addTraceFunctionArgsToOutput() < $line) {
208  return '';
209  }
210 
211  // Dump the arguments:
212  ob_start();
213  $this->dump($frame->getArgs());
214  if (ob_get_length() > $this->getTraceFunctionArgsOutputLimit()) {
215  // The argument var_dump is to big.
216  // Discarded to limit memory usage.
217  ob_clean();
218  return sprintf(
219  "\n%sArguments dump length greater than %d Bytes. Discarded.",
220  self::VAR_DUMP_PREFIX,
222  );
223  }
224 
225  return sprintf(
226  "\n%s",
227  preg_replace('/^/m', self::VAR_DUMP_PREFIX, ob_get_clean())
228  );
229  }
getTraceFunctionArgsOutputLimit()
Get the size limit in bytes of frame arguments var_dump output.
addTraceFunctionArgsToOutput($addTraceFunctionArgsToOutput=null)
Add error trace function arguments to output.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLogger()

Whoops\Handler\PlainTextHandler::getLogger ( )
Returns
|null

Definition at line 86 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$logger.

Referenced by Whoops\Handler\PlainTextHandler\handle().

+ Here is the caller graph for this function:

◆ getTraceFunctionArgsOutputLimit()

Whoops\Handler\PlainTextHandler::getTraceFunctionArgsOutputLimit ( )

Get the size limit in bytes of frame arguments var_dump output.

If the limit is reached, the var_dump output is discarded. Prevent memory limit errors.

Returns
integer

Definition at line 170 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$traceFunctionArgsOutputLimit.

Referenced by Whoops\Handler\PlainTextHandler\getFrameArgsOutput().

+ Here is the caller graph for this function:

◆ handle()

Whoops\Handler\PlainTextHandler::handle ( )
Returns
int

Implements Whoops\Handler\HandlerInterface.

Definition at line 290 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\canOutput(), Whoops\Handler\Handler\DONE, Whoops\Handler\PlainTextHandler\generateResponse(), Whoops\Handler\PlainTextHandler\getLogger(), and Whoops\Handler\Handler\QUIT.

291  {
292  $response = $this->generateResponse();
293 
294  if ($this->getLogger()) {
295  $this->getLogger()->error($response);
296  }
297 
298  if (! $this->canOutput()) {
299  return Handler::DONE;
300  }
301 
302  echo $response;
303 
304  return Handler::QUIT;
305  }
const QUIT
The Handler has handled the Throwable in some way, and wishes to quit/stop execution.
Definition: Handler.php:31
canOutput()
Test if handler can output to stdout.
generateResponse()
Create plain text response and return it as a string.
+ Here is the call graph for this function:

◆ loggerOnly()

Whoops\Handler\PlainTextHandler::loggerOnly (   $loggerOnly = null)

Only output to logger.

Parameters
bool | null$loggerOnly
Returns
null|bool

Definition at line 180 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$loggerOnly.

Referenced by Whoops\Handler\PlainTextHandler\canOutput().

181  {
182  if (func_num_args() == 0) {
183  return $this->loggerOnly;
184  }
185 
186  $this->loggerOnly = (bool) $loggerOnly;
187  }
loggerOnly($loggerOnly=null)
Only output to logger.
+ Here is the caller graph for this function:

◆ setDumper()

Whoops\Handler\PlainTextHandler::setDumper ( callable  $dumper)

Set var dumper callback function.

Parameters
callable$dumper
Returns
void

Definition at line 97 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$dumper.

98  {
99  $this->dumper = $dumper;
100  }

◆ setLogger()

Whoops\Handler\PlainTextHandler::setLogger (   $logger = null)

Set the output logger interface.

Exceptions
InvalidArgumentExceptionIf argument is not null or a LoggerInterface
Parameters
\Psr\Log\LoggerInterface | null$logger

Definition at line 69 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$logger.

Referenced by Whoops\Handler\PlainTextHandler\__construct().

70  {
71  if (! (is_null($logger)
72  || $logger instanceof LoggerInterface)) {
73  throw new InvalidArgumentException(
74  'Argument to ' . __METHOD__ .
75  " must be a valid Logger Interface (aka. Monolog), " .
76  get_class($logger) . ' given.'
77  );
78  }
79 
80  $this->logger = $logger;
81  }
+ Here is the caller graph for this function:

◆ setTraceFunctionArgsOutputLimit()

Whoops\Handler\PlainTextHandler::setTraceFunctionArgsOutputLimit (   $traceFunctionArgsOutputLimit)

Definition at line 142 of file PlainTextHandler.php.

References Whoops\Handler\PlainTextHandler\$traceFunctionArgsOutputLimit.

143  {
144  $this->traceFunctionArgsOutputLimit = (integer) $traceFunctionArgsOutputLimit;
145  }

Field Documentation

◆ $addTraceFunctionArgsToOutput

Whoops\Handler\PlainTextHandler::$addTraceFunctionArgsToOutput = false
private

◆ $addTraceToOutput

Whoops\Handler\PlainTextHandler::$addTraceToOutput = true
private

◆ $dumper

Whoops\Handler\PlainTextHandler::$dumper
protected

Definition at line 32 of file PlainTextHandler.php.

Referenced by Whoops\Handler\PlainTextHandler\setDumper().

◆ $logger

Whoops\Handler\PlainTextHandler::$logger
protected

◆ $loggerOnly

Whoops\Handler\PlainTextHandler::$loggerOnly = false
private

Definition at line 52 of file PlainTextHandler.php.

Referenced by Whoops\Handler\PlainTextHandler\loggerOnly().

◆ $traceFunctionArgsOutputLimit

Whoops\Handler\PlainTextHandler::$traceFunctionArgsOutputLimit = 1024
private

◆ VAR_DUMP_PREFIX

const Whoops\Handler\PlainTextHandler::VAR_DUMP_PREFIX = ' | '

Definition at line 22 of file PlainTextHandler.php.


The documentation for this class was generated from the following file: