示例#1
0
switch ($_REQUEST['task']) {
    case 'create':
        // Silently ignore bogus requests
        if (!empty($_POST['level']) && !empty($_POST['message'])) {
            logInit(array('id' => "web_js"));
            $string = $_POST['message'];
            $file = !empty($_POST['file']) ? preg_replace('/\\w+:\\/\\/\\w+\\//', '', $_POST['file']) : '';
            if (!empty($_POST['line'])) {
                $line = $_POST['line'];
            } else {
                $line = NULL;
            }
            $levels = array_flip(Logger::$codes);
            if (!isset($levels[$_POST['level']])) {
                Panic("Unexpected logger level '" . $_POST['level'] . "'");
            }
            $level = $levels[$_POST['level']];
            Logger::fetch()->logPrint($level, $string, $file, $line);
        }
        ajaxResponse();
        break;
    case 'query':
        if (!canView('System')) {
            ajaxError('Insufficient permissions to view log entries');
        }
        $minTime = isset($_POST['minTime']) ? $_POST['minTime'] : NULL;
        $maxTime = isset($_POST['maxTime']) ? $_POST['maxTime'] : NULL;
        $limit = isset($_POST['limit']) ? $_POST['limit'] : 100;
        $filter = isset($_POST['filter']) ? $_POST['filter'] : array();
        $sortField = isset($_POST['sortField']) ? $_POST['sortField'] : 'TimeKey';
示例#2
0
function ErrorHandler($error, $string, $file, $line)
{
    if (!(error_reporting() & $error)) {
        // This error code is not included in error_reporting
        return false;
    }
    switch ($error) {
        case E_USER_ERROR:
            Logger::fetch()->logPrint(Logger::FATAL, $string, $file, $line);
            break;
        case E_USER_WARNING:
            Logger::fetch()->logPrint(Logger::ERROR, $string, $file, $line);
            break;
        case E_USER_NOTICE:
            Logger::fetch()->logPrint(Logger::WARNING, $string, $file, $line);
            break;
        default:
            Panic("Unknown error type: [{$error}] {$string}");
            break;
    }
    return true;
}