public function __construct(array $args = array())
{
# @TODO save the args as a property and process the trace JIT
$args = array_merge(array('ignore_current_filter' => true, 'ignore_items' => 0), $args);
$this->trace = debug_backtrace(false);
$this->ignore(1);
# Self-awareness
/**
* If error_handler() is in the trace, QM fails later when it tries
* to get $lowest['file'] in get_filtered_trace()
*/
if ($this->trace[0]['function'] === 'error_handler') {
$this->ignore(1);
}
if ($args['ignore_items']) {
$this->ignore($args['ignore_items']);
}
if ($args['ignore_current_filter']) {
$this->ignore_current_filter();
}
}