Facilities are available during vacations and weekends (Accomodation is available vacations only)
;
Facilities are available during vacations and weekends (Accomodation is available vacations only)
if ($this->useLocking) { // ignoring errors here, there's not much we can do about them flock($this->stream, LOCK_EX); } $this->streamWrite($this->stream, $record); if ($this->useLocking) { flock($this->stream, LOCK_UN); } } /** * Write to stream * @param resource $stream * @param array $record */ protected function streamWrite($stream, array $record) { fwrite($stream, (string) $record['formatted']); } private function customErrorHandler($code, $msg) { $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg); } /** * @param string $stream * * @return null|string */ private function getDirFromStream($stream) { $pos = strpos($stream, '://'); if ($pos === false) { return dirname($stream); } if ('file://' === substr($stream, 0, 7)) {
"fwrite(): write of 1611 bytes failed with errno=28 No space left on device"
if ($this->useLocking) { // ignoring errors here, there's not much we can do about them flock($this->stream, LOCK_EX); } $this->streamWrite($this->stream, $record); if ($this->useLocking) { flock($this->stream, LOCK_UN); } } /** * Write to stream * @param resource $stream * @param array $record */ protected function streamWrite($stream, array $record) { fwrite($stream, (string) $record['formatted']); } private function customErrorHandler($code, $msg) { $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg); } /** * @param string $stream * * @return null|string */ private function getDirFromStream($stream) { $pos = strpos($stream, '://'); if ($pos === false) { return dirname($stream); } if ('file://' === substr($stream, 0, 7)) {
$this->createDir(); $this->errorMessage = null; set_error_handler(array($this, 'customErrorHandler')); $this->stream = fopen($this->url, 'a'); if ($this->filePermission !== null) { @chmod($this->url, $this->filePermission); } restore_error_handler(); if (!is_resource($this->stream)) { $this->stream = null; throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url)); } } if ($this->useLocking) { // ignoring errors here, there's not much we can do about them flock($this->stream, LOCK_EX); } $this->streamWrite($this->stream, $record); if ($this->useLocking) { flock($this->stream, LOCK_UN); } } /** * Write to stream * @param resource $stream * @param array $record */ protected function streamWrite($stream, array $record) { fwrite($stream, (string) $record['formatted']); } private function customErrorHandler($code, $msg) { $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg); }
* * @author Jordi Boggiano <j.boggiano@seld.be> * @author Christophe Coevoet <stof@notk.org> */ abstract class AbstractProcessingHandler extends AbstractHandler { /** * {@inheritdoc} */ public function handle(array $record) { if (!$this->isHandling($record)) { return false; } $record = $this->processRecord($record); $record['formatted'] = $this->getFormatter()->format($record); $this->write($record); return false === $this->bubble; } /** * Writes the record down to the log of the implementing handler * * @param array $record * @return void */ abstract protected function write(array $record); /** * Processes a record. * * @param array $record * @return array */ protected function processRecord(array $record) {
} $ts->setTimezone(static::$timezone); $record = array( 'message' => (string) $message, 'context' => $context, 'level' => $level, 'level_name' => $levelName, 'channel' => $this->name, 'datetime' => $ts, 'extra' => array(), ); try { foreach ($this->processors as $processor) { $record = call_user_func($processor, $record); } while ($handler = current($this->handlers)) { if (true === $handler->handle($record)) { break; } next($this->handlers); } } catch (Exception $e) { $this->handleException($e, $record); } return true; } /** * Ends a log cycle and frees all resources used by handlers. * * Closing a Handler means flushing all buffers and freeing any open resources/handles. * Handlers that have been closed should be able to accept log records again and re-open * themselves on demand, but this may not always be possible depending on implementation. * * This is useful at the end of a request and will be called automatically on every handler
* @param array $context The log context * @return bool Whether the record has been processed */ public function err($message, array $context = array()) { return $this->addRecord(static::ERROR, $message, $context); } /** * Adds a log record at the ERROR level. * * This method allows for compatibility with common interfaces. * * @param string $message The log message * @param array $context The log context * @return bool Whether the record has been processed */ public function error($message, array $context = array()) { return $this->addRecord(static::ERROR, $message, $context); } /** * Adds a log record at the CRITICAL level. * * This method allows for compatibility with common interfaces. * * @param string $message The log message * @param array $context The log context * @return bool Whether the record has been processed */ public function crit($message, array $context = array()) { return $this->addRecord(static::CRITICAL, $message, $context); } /** * Adds a log record at the CRITICAL level. * * This method allows for compatibility with common interfaces.
* @return void */ public function write($level, $message, array $context = []) { $this->writeLog($level, $message, $context); } /** * Write a message to Monolog. * * @param string $level * @param string $message * @param array $context * @return void */ protected function writeLog($level, $message, $context) { $this->fireLogEvent($level, $message = $this->formatMessage($message), $context); $this->monolog->{$level}($message, $context); } /** * Register a file log handler. * * @param string $path * @param string $level * @return void */ public function useFiles($path, $level = 'debug') { $this->monolog->pushHandler($handler = new StreamHandler($path, $this->parseLevel($level))); $handler->setFormatter($this->getDefaultFormatter()); } /** * Register a daily file log handler. * * @param string $path
* * @param string $message * @param array $context * @return void */ public function critical($message, array $context = []) { $this->writeLog(__FUNCTION__, $message, $context); } /** * Log an error message to the logs. * * @param string $message * @param array $context * @return void */ public function error($message, array $context = []) { $this->writeLog(__FUNCTION__, $message, $context); } /** * Log a warning message to the logs. * * @param string $message * @param array $context * @return void */ public function warning($message, array $context = []) { $this->writeLog(__FUNCTION__, $message, $context); } /** * Log a notice to the logs. * * @param string $message * @param array $context * @return void
*/ public function report(Exception $e) { if ($this->shouldntReport($e)) { return; } if (method_exists($e, 'report')) { return $e->report(); } try { $logger = $this->container->make(LoggerInterface::class); } catch (Exception $ex) { throw $e; // throw the original exception } $logger->error( $e->getMessage(), array_merge($this->context(), ['exception' => $e] )); } /** * Determine if the exception should be reported. * * @param \Exception $e * @return bool */ public function shouldReport(Exception $e) { return ! $this->shouldntReport($e); } /** * Determine if the exception is in the "do not report" list. * * @param \Exception $e * @return bool */
/** * A list of the inputs that are never flashed for validation exceptions. * * @var array */ protected $dontFlash = [ 'password', 'password_confirmation', ]; /** * Report or log an exception. * * @param \Exception $exception * @return void */ public function report(Exception $exception) { parent::report($exception); } /** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Exception $exception * @return \Illuminate\Http\Response */ public function render($request, Exception $exception) { return parent::render($request, $exception); } }
} /** * Handle an uncaught exception from the application. * * Note: Most exceptions can be handled via the try / catch block in * the HTTP and Console kernels. But, fatal error exceptions must * be handled differently since they are not normal exceptions. * * @param \Throwable $e * @return void */ public function handleException($e) { if (! $e instanceof Exception) { $e = new FatalThrowableError($e); } try { $this->getExceptionHandler()->report($e); } catch (Exception $e) { // } if ($this->app->runningInConsole()) { $this->renderForConsole($e); } else { $this->renderHttpResponse($e); } } /** * Render an exception to the console. * * @param \Exception $e * @return void */ protected function renderForConsole(Exception $e) { $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
Key | Value |
REDIRECT_SCRIPT_URL | "************************************"
|
REDIRECT_SCRIPT_URI | "****************************************************************"
|
REDIRECT_HTTPS | "**"
|
REDIRECT_SSL_TLS_SNI | "********************"
|
REDIRECT_STATUS | "***"
|
SCRIPT_URL | "************************************"
|
SCRIPT_URI | "****************************************************************"
|
HTTPS | "**"
|
SSL_TLS_SNI | "********************"
|
HTTP_ACCEPT | "***"
|
HTTP_USER_AGENT | "*******************************************************************************************************"
|
HTTP_ACCEPT_ENCODING | "***********************"
|
HTTP_HOST | "********************"
|
PATH | "************************************************************"
|
SERVER_SIGNATURE | "" |
SERVER_SOFTWARE | "******"
|
SERVER_NAME | "********************"
|
SERVER_ADDR | "*************"
|
SERVER_PORT | "***"
|
REMOTE_ADDR | "***********"
|
DOCUMENT_ROOT | "****************************************************"
|
REQUEST_SCHEME | "*****"
|
CONTEXT_PREFIX | "" |
CONTEXT_DOCUMENT_ROOT | "****************************************************"
|
SERVER_ADMIN | "*************************"
|
SCRIPT_FILENAME | "**************************************************************"
|
REMOTE_PORT | "*****"
|
REDIRECT_URL | "************************************"
|
GATEWAY_INTERFACE | "*******"
|
SERVER_PROTOCOL | "********"
|
REQUEST_METHOD | "***"
|
QUERY_STRING | "" |
REQUEST_URI | "************************************"
|
SCRIPT_NAME | "**********"
|
PHP_SELF | "**********"
|
REQUEST_TIME_FLOAT | "***************"
|
REQUEST_TIME | "**********"
|
APP_NAME | "***********************"
|
APP_ENV | "*****"
|
APP_KEY | "***************************************************"
|
APP_DEBUG | "****"
|
APP_URL | "****************"
|
LOG_CHANNEL | "*****"
|
DB_CONNECTION | "*****"
|
DB_HOST | "*********"
|
DB_PORT | "****"
|
DB_DATABASE | "*******"
|
DB_USERNAME | "****"
|
DB_PASSWORD | "*******"
|
BROADCAST_DRIVER | "***"
|
CACHE_DRIVER | "****"
|
QUEUE_CONNECTION | "****"
|
SESSION_DRIVER | "****"
|
SESSION_LIFETIME | "***"
|
REDIS_HOST | "*********"
|
REDIS_PASSWORD | "****"
|
REDIS_PORT | "****"
|
MAIL_DRIVER | "****"
|
MAIL_HOST | "****************"
|
MAIL_PORT | "****"
|
MAIL_USERNAME | "****"
|
MAIL_PASSWORD | "****"
|
MAIL_ENCRYPTION | "****"
|
PUSHER_APP_ID | "" |
PUSHER_APP_KEY | "" |
PUSHER_APP_SECRET | "" |
PUSHER_APP_CLUSTER | "***"
|
MIX_PUSHER_APP_KEY | "" |
MIX_PUSHER_APP_CLUSTER | "***"
|
Key | Value |
APP_NAME | "***********************"
|
APP_ENV | "*****"
|
APP_KEY | "***************************************************"
|
APP_DEBUG | "****"
|
APP_URL | "****************"
|
LOG_CHANNEL | "*****"
|
DB_CONNECTION | "*****"
|
DB_HOST | "*********"
|
DB_PORT | "****"
|
DB_DATABASE | "*******"
|
DB_USERNAME | "****"
|
DB_PASSWORD | "*******"
|
BROADCAST_DRIVER | "***"
|
CACHE_DRIVER | "****"
|
QUEUE_CONNECTION | "****"
|
SESSION_DRIVER | "****"
|
SESSION_LIFETIME | "***"
|
REDIS_HOST | "*********"
|
REDIS_PASSWORD | "****"
|
REDIS_PORT | "****"
|
MAIL_DRIVER | "****"
|
MAIL_HOST | "****************"
|
MAIL_PORT | "****"
|
MAIL_USERNAME | "****"
|
MAIL_PASSWORD | "****"
|
MAIL_ENCRYPTION | "****"
|
PUSHER_APP_ID | "" |
PUSHER_APP_KEY | "" |
PUSHER_APP_SECRET | "" |
PUSHER_APP_CLUSTER | "***"
|
MIX_PUSHER_APP_KEY | "" |
MIX_PUSHER_APP_CLUSTER | "***"
|