private static function _dump($obj, $message = null, $logLevel = LOG_DEBUG, $outputFile = null) { if (is_array($obj)) { $collection = array_reduce_val($obj, function ($startValue, $val, $key) { return $startValue || $val instanceof Lib_Model; }, false); if ($collection) { $message .= ' [collection]'; array_each($obj, function ($value, $key) use($message, $logLevel, $outputFile) { self::_dump($value, $message . "[{$key}]", $logLevel, $outputFile); }); return; } } if ($obj instanceof Lib_Model) { $message .= sprintf(' %s->toArray()', get_class($obj)); /* @var Lib_Model $obj */ $obj = $obj->toArray(); } $dump = var_export($obj, true); if (null != $outputFile) { fwrite($outputFile, $message . ': ' . $dump); } else { logger_log($message . ': ' . $dump, $logLevel); } }
/** * @param string $command * @param array|null &$output * @param int|null &$retval * @return string */ function proc_exec($command, &$output = array(), &$retval = null) { $descriptors = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w")); $res = proc_open($command, $descriptors, $pipes); fclose($pipes[0]); $stdout = stream_get_contents($pipes[1]); fclose($pipes[1]); $stderr = stream_get_contents($pipes[2]); fclose($pipes[2]); $output = explode(PHP_EOL, $stdout); $retval = proc_close($res); if (0 !== $retval) { logger_log("Process returned error." . PHP_EOL . " * Cli: " . $command . PHP_EOL . " * Return value: " . $retval . PHP_EOL . " * Stderr: " . PHP_EOL . str_indent($stderr, 1) . PHP_EOL . " * Stdout: " . PHP_EOL . str_indent($stdout, 1) . PHP_EOL); debug_assert(false); // FIXME: should be enforce but i wont risk it now } $ol = count($output); return $ol > 0 ? $output[$ol - 1] : ''; }
function my_mysql_query($query) { global $link; logger_log($query); logger_log("\n============================\n"); $result = mysqli_query($link, $query); assert($result != NULL); /* if(!$result) { error('mysqli error: '.$link->errno.': '.$link->error); } */ return $result; }
/** * @return callable */ function debug_handler_error_default_dg() { return function ($errno, $errstr, $errfile, $errline, $errcontext) { $e = new ErrorException($errstr . PHP_EOL, $errno, 0, $errfile, $errline); switch ($errno) { case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_COMPILE_ERROR: case E_USER_ERROR: case E_RECOVERABLE_ERROR: throw $e; break; case E_WARNING: case E_CORE_WARNING: case E_COMPILE_WARNING: case E_USER_WARNING: logger_log($e, LOG_WARNING); break; case E_NOTICE: case E_USER_NOTICE: case E_DEPRECATED: case E_USER_DEPRECATED: logger_log($e, LOG_NOTICE); break; default: debug_assert(false, "Unknown value"); break; } }; }
public function fail($msg = null) { logger_log('Error:'); if ($msg) { logger_log($msg, LOG_ERR); } exit(1); }