ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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)
 
 handle ()
 
 setRun (RunInterface $run)
 
 setException ($exception)
 
 setInspector (Inspector $inspector)
 

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\Run 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.

60 {
61 $this->setLogger($logger);
62 }
setLogger($logger=null)
Set the output logger interface.

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

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

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.

References Whoops\Handler\PlainTextHandler\$addTraceFunctionArgsToOutput, and Whoops\Handler\PlainTextHandler\addTraceFunctionArgsToOutput().

Referenced by Whoops\Handler\PlainTextHandler\addTraceFunctionArgsToOutput(), and Whoops\Handler\PlainTextHandler\getFrameArgsOutput().

+ Here is the call graph for this function:
+ 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.

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.

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

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

+ Here is the call graph for this function:
+ 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.

194 {
195 return !$this->loggerOnly();
196 }
loggerOnly($loggerOnly=null)
Only output to logger.

References Whoops\Handler\PlainTextHandler\loggerOnly().

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

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

238 {
239 if ($this->dumper) {
240 call_user_func($this->dumper, $var);
241 } else {
242 var_dump($var);
243 }
244 }

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

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

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 }

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

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

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

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.

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

+ Here is the call graph for this function:

◆ getLogger()

Whoops\Handler\PlainTextHandler::getLogger ( )
Returns
\Psr\Log\LoggerInterface|null

Definition at line 86 of file PlainTextHandler.php.

87 {
88 return $this->logger;
89 }

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.

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
generateResponse()
Create plain text response and return it as a string.
canOutput()
Test if handler can output to stdout.
$response

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

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

181 {
182 if (func_num_args() == 0) {
183 return $this->loggerOnly;
184 }
185
186 $this->loggerOnly = (bool) $loggerOnly;
187 }

References Whoops\Handler\PlainTextHandler\$loggerOnly, and Whoops\Handler\PlainTextHandler\loggerOnly().

Referenced by Whoops\Handler\PlainTextHandler\canOutput(), and Whoops\Handler\PlainTextHandler\loggerOnly().

+ Here is the call graph for this function:
+ 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.

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

References Whoops\Handler\PlainTextHandler\$dumper.

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

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 }

References Whoops\Handler\PlainTextHandler\$logger.

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

+ Here is the caller graph for this function:

◆ setTraceFunctionArgsOutputLimit()

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

Definition at line 142 of file PlainTextHandler.php.

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

References Whoops\Handler\PlainTextHandler\$traceFunctionArgsOutputLimit.

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: