Ejemplo n.º 1
0
 public function quickContextFilters($pString)
 {
     if (empty($pString)) {
         return 0;
     }
     $myCounter = 0;
     $myList = preg_split('/\\s+/', $pString, -1, PREG_SPLIT_NO_EMPTY);
     foreach ($myList as $myItem) {
         if (preg_match('/^([^()]+)\\(([^()]+)\\)$/', $myItem, $myMatches)) {
             $myContext = $myMatches[1];
             $myOverride = $myMatches[2];
             $filter = array();
             if (strpos($myContext, '::') !== false) {
                 // class
                 $tmp = explode('::', $myContext, 2);
                 $filter['class'] = trim($tmp[0]);
                 if (preg_match('/\\S/', $tmp[1])) {
                     $filter['function'] = trim($tmp[1]);
                 }
                 $filter['effectiveLevel'] = trim($myOverride);
             } elseif (strpos($myContext, '~') !== false) {
                 // message match
                 $tmp = explode('~', $myContext, 2);
                 $filter['matchlevel'] = trim($tmp[0]);
                 $filter['matchpattern'] = trim($tmp[1]);
                 $filter['effectiveLevel'] = trim($myOverride);
             } elseif (strpos($myContext, '/') !== false) {
                 // file
                 $filter['file'] = trim($myContext);
                 $filter['effectiveLevel'] = trim($myOverride);
             } else {
                 // function
                 $filter['function'] = trim($myContext);
                 $filter['effectiveLevel'] = trim($myOverride);
             }
             if (EventObject::stClassifyErrorType($myOverride)) {
                 EventLogging::stAddContextFilter($filter);
                 $myCounter++;
             }
         }
     }
     return $myCounter;
 }