/var/www/html/loxala/loxala/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
*/
protected function write(array $record): void
{
if (!is_resource($this->stream)) {
$url = $this->url;
if (null === $url || '' === $url) {
throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().' . Utils::getRecordMessageForException($record));
}
$this->createDir($url);
$this->errorMessage = null;
set_error_handler([$this, 'customErrorHandler']);
$stream = fopen($url, 'a');
if ($this->filePermission !== null) {
@chmod($url, $this->filePermission);
}
restore_error_handler();
if (!is_resource($stream)) {
$this->stream = null;
throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $url) . Utils::getRecordMessageForException($record));
}
stream_set_chunk_size($stream, $this->streamChunkSize);
$this->stream = $stream;
}
$stream = $this->stream;
if (!is_resource($stream)) {
throw new \LogicException('No stream was opened yet' . Utils::getRecordMessageForException($record));
}
if ($this->useLocking) {
// ignoring errors here, there's not much we can do about them
flock($stream, LOCK_EX);
}
$this->streamWrite($stream, $record);
if ($this->useLocking) {
flock($stream, LOCK_UN);
}
Arguments
"""
The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: The stream or file "/var/www/html/loxala/loxala/storage/logs/laravel-2024-03-28.log" could not be opened in append mode: failed to open stream: Permission denied\n
The exception occurred while attempting to log: file_put_contents(/var/www/html/loxala/loxala/storage/framework/sessions/E09h1v2ob2qUmn43Yh7wUwjhtMjIOrLsCGknYMv7): failed to open stream: Permission denied\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}\n
Context: {"exception":{}}
"""
/var/www/html/loxala/loxala/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php
return $this;
}
/**
* {@inheritDoc}
*/
protected function write(array $record): void
{
// on the first record written, if the log is new, we should rotate (once per day)
if (null === $this->mustRotate) {
$this->mustRotate = null === $this->url || !file_exists($this->url);
}
if ($this->nextRotation <= $record['datetime']) {
$this->mustRotate = true;
$this->close();
}
parent::write($record);
}
/**
* Rotates the files.
*/
protected function rotate(): void
{
// update filename
$this->url = $this->getTimedFilename();
$this->nextRotation = new \DateTimeImmutable('tomorrow');
// skip GC of old logs if files are unlimited
if (0 === $this->maxFiles) {
return;
}
$logFiles = glob($this->getGlobPattern());
if (false === $logFiles) {
// failed to glob
return;
/var/www/html/loxala/loxala/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
use ProcessableHandlerTrait;
use FormattableHandlerTrait;
/**
* {@inheritDoc}
*/
public function handle(array $record): bool
{
if (!$this->isHandling($record)) {
return false;
}
if ($this->processors) {
/** @var Record $record */
$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
*
* @phpstan-param FormattedRecord $record
*/
abstract protected function write(array $record): void;
/**
* @return void
*/
public function reset()
{
parent::reset();
$this->resetProcessors();
}
/var/www/html/loxala/loxala/vendor/monolog/monolog/src/Monolog/Logger.php
'level_name' => $levelName,
'channel' => $this->name,
'datetime' => $datetime ?? new DateTimeImmutable($this->microsecondTimestamps, $this->timezone),
'extra' => [],
];
try {
foreach ($this->processors as $processor) {
$record = $processor($record);
}
} catch (Throwable $e) {
$this->handleException($e, $record);
return true;
}
}
// once the record exists, send it to all handlers as long as the bubbling chain is not interrupted
try {
if (true === $handler->handle($record)) {
break;
}
} catch (Throwable $e) {
$this->handleException($e, $record);
return true;
}
}
} finally {
if ($this->detectCycles) {
if (isset($fiber)) {
$this->fiberLogDepth[$fiber]--;
} else {
$this->logDepth--;
}
}
}
return null !== $record;
}
/var/www/html/loxala/loxala/vendor/monolog/monolog/src/Monolog/Logger.php
*
* @param string|Stringable $message The log message
* @param mixed[] $context The log context
*/
public function warning($message, array $context = []): void
{
$this->addRecord(static::WARNING, (string) $message, $context);
}
/**
* Adds a log record at the ERROR level.
*
* This method allows for compatibility with common interfaces.
*
* @param string|Stringable $message The log message
* @param mixed[] $context The log context
*/
public function error($message, array $context = []): void
{
$this->addRecord(static::ERROR, (string) $message, $context);
}
/**
* Adds a log record at the CRITICAL level.
*
* This method allows for compatibility with common interfaces.
*
* @param string|Stringable $message The log message
* @param mixed[] $context The log context
*/
public function critical($message, array $context = []): void
{
$this->addRecord(static::CRITICAL, (string) $message, $context);
}
/**
* Adds a log record at the ALERT level.
*
* This method allows for compatibility with common interfaces.
*
/var/www/html/loxala/loxala/vendor/laravel/framework/src/Illuminate/Log/Logger.php
* @return void
*/
public function write($level, $message, array $context = [])
{
$this->writeLog($level, $message, $context);
}
/**
* Write a message to the log.
*
* @param string $level
* @param string $message
* @param array $context
* @return void
*/
protected function writeLog($level, $message, $context)
{
$this->logger->{$level}(
$message = $this->formatMessage($message),
$context = array_merge($this->context, $context)
);
$this->fireLogEvent($level, $message, $context);
}
/**
* Add context to all future logs.
*
* @param array $context
* @return $this
*/
public function withContext(array $context = [])
{
$this->context = array_merge($this->context, $context);
return $this;
}
/**
* Flush the existing context array.
/var/www/html/loxala/loxala/vendor/laravel/framework/src/Illuminate/Log/Logger.php
*
* @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
/var/www/html/loxala/loxala/vendor/laravel/framework/src/Illuminate/Log/LogManager.php
* @param string $message
* @param array $context
* @return void
*/
public function critical($message, array $context = [])
{
$this->driver()->critical($message, $context);
}
/**
* Runtime errors that do not require immediate action but should typically
* be logged and monitored.
*
* @param string $message
* @param array $context
* @return void
*/
public function error($message, array $context = [])
{
$this->driver()->error($message, $context);
}
/**
* Exceptional occurrences that are not errors.
*
* Example: Use of deprecated APIs, poor use of an API, undesirable things
* that are not necessarily wrong.
*
* @param string $message
* @param array $context
* @return void
*/
public function warning($message, array $context = [])
{
$this->driver()->warning($message, $context);
}
/**
* Normal but significant events.
*
/var/www/html/loxala/loxala/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
foreach ($this->reportCallbacks as $reportCallback) {
if ($reportCallback->handles($e)) {
if ($reportCallback($e) === false) {
return;
}
}
}
try {
$logger = $this->container->make(LoggerInterface::class);
} catch (Exception $ex) {
throw $e;
}
$logger->error(
$e->getMessage(),
array_merge(
$this->exceptionContext($e),
$this->context(),
['exception' => $e]
)
);
}
/**
* Determine if the exception should be reported.
*
* @param \Throwable $e
* @return bool
*/
public function shouldReport(Throwable $e)
{
return ! $this->shouldntReport($e);
}
/**
* Determine if the exception is in the "do not report" list.
*
* @param \Throwable $e
* @return bool
/var/www/html/loxala/loxala/app/Exceptions/Handler.php
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* Report or log an exception.
*
* @param \Throwable $exception exception
*
* @return void
*/
public function report(Throwable $exception)
{
// if ($exception instanceof \Swift_TransportException) {
// Session::flash('error', trans('lang.file_not_found'));
// return Redirect::back();
// }
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request request->attr
* @param \Throwable $exception exception
*
* @return \Illuminate\Http\Response
*/
public function render($request, Throwable $exception)
{
if ($exception instanceof \Spatie\Permission\Exceptions\UnauthorizedException) {
abort(503);
}
return parent::render($request, $exception);
}
}
/var/www/html/loxala/loxala/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
]);
});
}
/**
* 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(Throwable $e)
{
self::$reservedMemory = null;
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 \Throwable $e
* @return void
*/
protected function renderForConsole(Throwable $e)
{
$this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);