本文整理汇总了PHP中Logger::fatal方法的典型用法代码示例。如果您正苦于以下问题:PHP Logger::fatal方法的具体用法?PHP Logger::fatal怎么用?PHP Logger::fatal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Logger
的用法示例。
在下文中一共展示了Logger::fatal方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fatal
/**
* @param string|\Exception $msg
* @param array $context
* @throws \RuntimeException
*/
public static function fatal($msg, array $context = array())
{
if (empty(static::$instance)) {
throw new \RuntimeException('Logger instance not added to proxy yet');
}
static::$instance->fatal($msg, $context);
}
示例2: fAddImage
/**
* Add an image
*
* @access public
* @param array $dats Image to add and paramaters to use
* @deprecated
*/
public function fAddImage($dats = '')
{
try {
if (isset($dats['name']) && file_exists($dats['name']) == 'true') {
$attrImage = getimagesize($dats['name']);
try {
if ($attrImage['mime'] == 'image/jpg' || $attrImage['mime'] == 'image/jpeg' || $attrImage['mime'] == 'image/png' || $attrImage['mime'] == 'image/gif') {
self::$intIdWord++;
$image = CreateImage::getInstance();
$dats['rId'] = self::$intIdWord;
$image->createImage($dats);
$this->_wordDocumentC .= (string) $image;
$dir = $this->parsePath($dats['name']);
$this->_zipDocx->addFile($dats['name'], 'word/media/image' . self::$intIdWord . '.' . $dir['extension']);
$this->generateDEFAULT($dir['extension'], $attrImage['mime']);
if ((string) $image != '') {
$this->_wordRelsDocumentRelsC .= $this->generateRELATIONSHIP('rId' . self::$intIdWord, 'image', 'media/image' . self::$intIdWord . '.' . $dir['extension']);
}
} else {
throw new Exception('Image format is not supported.');
}
} catch (Exception $e) {
self::$log->fatal($e->getMessage());
exit;
}
} else {
throw new Exception('Image does not exist.');
}
} catch (Exception $e) {
self::$log->fatal($e->getMessage());
exit;
}
}
示例3: logConnectionError
private static function logConnectionError($args)
{
if (class_exists('Xiaoju\\Beatles\\Utils\\Logger')) {
$msg = 'redis connection failed';
$errorNo = -1;
Logger::fatal($msg, $errorNo, $args);
}
}
示例4: execute
function execute($pipe)
{
if (!isset($this->arr_pipe[$pipe])) {
Logger::fatal('pipe.err not run the pipe: %s', var_export($pipe, true));
return false;
}
$pipe_obj = $this->arr_pipe[$pipe];
if ($pipe_obj->execute($this->app) === false) {
Logger::fatal('pipe.err execute error for the pipe: %s', var_export($pipe, true));
return false;
}
return true;
}
示例5: testLogLevel
public function testLogLevel()
{
$rootAppender = new LoggerAppenderTest();
$root = new Logger('root');
$root->addAppender($rootAppender);
$logger = new Logger('logger', $root);
$logger->trace('trace');
$logger->debug('debug');
$logger->info('info');
$logger->warn('warn');
$logger->error('error');
$logger->fatal('fatal');
$this->assertEquals(array(array(Logger::TRACE, 'trace'), array(Logger::DEBUG, 'debug'), array(Logger::INFO, 'info'), array(Logger::WARN, 'warn'), array(Logger::ERROR, 'error'), array(Logger::FATAL, 'fatal')), $rootAppender->logs);
}
示例6: createMysqli
private static function createMysqli($server)
{
// 创建mysqli对象
$mysqli = @new \mysqli($server['host'], $server['username'], $server['password'], '', $server['port']);
for ($i = 1; $i < 3 && $mysqli->connect_error; $i++) {
usleep(50000);
$mysqli = @new \mysqli($server['host'], $server['username'], $server['password'], '', $server['port']);
}
// 连接失败,记录日志
if ($mysqli->connect_error) {
Logger::fatal('mysql', $mysqli->connect_error);
throw new LibraryException($mysqli->connect_error);
}
return $mysqli;
}
示例7: getQueueManager
/**
* Get queue manager
*
* @param string $monitorPath
* @param string $dataPath
* @return object
*/
public static function getQueueManager($monitorPath, $dataPath)
{
$monitor = new Queue_Monitor($monitorPath);
$implement = new QueueImpl_File($dataPath);
if ($implement->error()) {
Logger::fatal('Get queue impl failure,error: ' . $implement->error());
return false;
}
$manager = new Queue_Manager($monitor, $implement);
if ($manager->error()) {
Logger::fatal('Get queue manager failure,error: ' . $manager->error());
return false;
}
return $manager;
}
示例8: rollback
public function rollback()
{
if (!$this->inTrans) {
throw new LibraryException('当前连接没有开启事务,无法回滚!');
}
// 回滚失败可能造成mysql锁死
$ret = $this->mysqli->rollback();
if (false === $ret) {
$msg = '回滚事务失败!' . $this->mysqli->error;
Logger::fatal('mysql', $msg);
throw new LibraryException($msg);
}
$this->inTrans = false;
return $ret;
}
示例9: exceptionHandler
function exceptionHandler($ex)
{
restore_exception_handler();
$errcode = $ex->getMessage();
$code = $ex->getCode();
if ($this->needToLog($code)) {
$errmsg = sprintf('<< exception:%s, errcode:%s, trace: %s >>', $code, $errcode, $ex->__toString());
if ($pos = strpos($errcode, ' ')) {
$errcode = substr($errcode, 0, $pos);
}
$this->status = $errcode;
Logger::fatal($errmsg);
}
//内部export调用不需要做异常输出处理. 和ApiRouter.php的output错误输出格式一致
if (!defined('USE_INNER_API')) {
echo json_encode(array('msg' => $errcode, PI_INNER_ERR => $code), true);
}
}
示例10: logError
public static function logError($type, $msg, $file, $line)
{
$str = LogVars::$friendlyErrorType[$type] . ': ' . $msg . ' ' . $file . ':' . $line;
if (in_array($type, LogVars::$warnType)) {
Logger::warn('handle', $str);
} else {
if (in_array($type, LogVars::$errorType)) {
Logger::error('handle', $str);
Url::redirect404();
} else {
if (in_array($type, LogVars::$noticeType)) {
Logger::notice('handle', $str);
} else {
Logger::fatal('handle', $str);
Url::redirect404();
}
}
}
return true;
}
示例11: log
private static function log($type, $msg, $errorNo, $params)
{
if (class_exists('Xiaoju\\Beatles\\Utils\\Logger')) {
switch ($type) {
case 'debug':
Logger::debug($msg, $errorNo, $params);
break;
case 'trace':
Logger::trace($msg, $errorNo, $params);
break;
case 'notice':
Logger::notice($msg, $errorNo, $params);
break;
case 'warning':
Logger::warning($msg, $errorNo, $params);
break;
case 'fatal':
Logger::fatal($msg, $errorNo, $params);
break;
}
}
}
示例12: makeResetTicket
public static function makeResetTicket($loginName)
{
$memcached = MemcachedPool::getMemcached(MemcachedConfig::$SERVER_COMMON);
// 生成唯一的md5,最多执行3次
$i = 0;
do {
$resetTicket = md5(uniqid($loginName, true));
$key = MemcachedKeys::UC_RESET_TICKET_ . $resetTicket;
$ret = $memcached->get($key);
if (false === $ret) {
$memcached->set($key, $loginName, 1800);
// resetTicket半小时有效
break;
}
$i++;
} while (true);
// 发生碰撞
if ($i >= 3) {
Logger::fatal('interface.error.uc', "设置resetTicket次数为{$i}!");
}
return $resetTicket;
}
示例13: stopRecording
/**
* Stops recording through shell scripts
*
* @return int
*/
function stopRecording()
{
if (!$this->isRecording()) {
return self::ERR_ALREADY;
}
$cmd = "sudo " . APP_ROOT . "/sh/stop_recording";
// Attempt to run bash stop command
exec("sudo " . WEB_ROOT . "/sh/stop_recording", $output, $return_var);
// Failed ?
if (0 !== $return_var) {
$this->logger->fatal("errcode:" . $return_var . " cmd: {$cmd} output:" . print_r($output, 1));
return self::ERR_FATAL;
}
// Wait for capture to stop
sleep(1);
// Failed ?
if (!$this->isRecording()) {
return self::ERR_OK;
} else {
$this->logger->fatal("errcode:" . $return_var . " cmd: {$cmd} output:" . print_r($output, 1));
return self::ERR_FATAL;
}
}
示例14: checkQuery
/**
* Scans order by to ensure that any field being ordered by is.
*
* It will throw a warning error to the log file - fatal if slow query logging is enabled
*
* @param string $sql query to be run
* @param bool $object_name optional, object to look up indices in
* @return bool true if an index is found false otherwise
*/
protected function checkQuery($sql, $object_name = false)
{
$match = array();
preg_match_all("'.* FROM ([^ ]*).* ORDER BY (.*)'is", $sql, $match);
$indices = false;
if (!empty($match[1][0])) {
$table = $match[1][0];
} else {
return false;
}
if (!empty($object_name) && !empty($GLOBALS['dictionary'][$object_name])) {
$indices = $GLOBALS['dictionary'][$object_name]['indices'];
}
if (empty($indices)) {
foreach ($GLOBALS['dictionary'] as $current) {
if ($current['table'] == $table) {
$indices = $current['indices'];
break;
}
}
}
if (empty($indices)) {
$this->log->warn('CHECK QUERY: Could not find index definitions for table ' . $table);
return false;
}
if (!empty($match[2][0])) {
$orderBys = explode(' ', $match[2][0]);
foreach ($orderBys as $orderBy) {
$orderBy = trim($orderBy);
if (empty($orderBy)) {
continue;
}
$orderBy = strtolower($orderBy);
if ($orderBy == 'asc' || $orderBy == 'desc') {
continue;
}
$orderBy = str_replace(array($table . '.', ','), '', $orderBy);
foreach ($indices as $index) {
if (empty($index['db']) || $index['db'] == $this->dbType) {
foreach ($index['fields'] as $field) {
if ($field == $orderBy) {
return true;
}
}
}
}
$warning = 'Missing Index For Order By Table: ' . $table . ' Order By:' . $orderBy;
if (!empty($GLOBALS['sugar_config']['dump_slow_queries'])) {
$this->log->fatal('CHECK QUERY:' . $warning);
} else {
$this->log->warn('CHECK QUERY:' . $warning);
}
}
}
return false;
}
示例15: exceptionHandler
function exceptionHandler($ex)
{
restore_exception_handler();
$errcode = $ex->getMessage();
$code = $ex->getCode();
if ($this->needToLog($code)) {
$errmsg = sprintf('<< exception:%s, errcode:%s, trace: %s >>', $code, $errcode, $ex->__toString());
if ($pos = strpos($errcode, ' ')) {
$errcode = substr($errcode, 0, $pos);
}
$this->status = $errcode;
Logger::fatal($errmsg);
}
}