"file_exists(): open_basedir restriction in effect. File(/media/storage/storage/logs/laravel-2024-08-27.log) is not within the allowed path(s): (/home/mvsep/.composer:/home/mvsep/web/mvsep.com/public_html:/home/mvsep/web/mvsep.com/private:/home/mvsep/web/mvsep.com/public_shtml:/home/mvsep/tmp:/tmp:/var/www/html:/bin:/usr/bin:/usr/local/bin:/usr/share:/opt) ◀"
if (substr_count($filenameFormat, '{date}') === 0) {
trigger_error(
'Invalid filename format - format should contain at least `{date}`, because otherwise rotating is impossible.',
E_USER_DEPRECATED
);
}
$this->filenameFormat = $filenameFormat;
$this->dateFormat = $dateFormat;
$this->url = $this->getTimedFilename();
$this->close();
}
/**
* {@inheritdoc}
*/
protected function write(array $record)
{
// on the first record written, if the log is new, we should rotate (once per day)
if (null === $this->mustRotate) {
$this->mustRotate = !file_exists($this->url);
}
if ($this->nextRotation < $record['datetime']) {
$this->mustRotate = true;
$this->close();
}
parent::write($record);
}
/**
* Rotates the files.
*/
protected function rotate()
{
// update filename
$this->url = $this->getTimedFilename();
$this->nextRotation = new \DateTime('tomorrow');
// skip GC of old logs if files are unlimited
*
* @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 the log.
*
* @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->logger->{$level}($message, $context);
}
/**
* Register a new callback handler for when a log event is triggered.
*
* @param \Closure $callback
* @return void
*
* @throws \RuntimeException
*/
public function listen(Closure $callback)
{
if (! isset($this->dispatcher)) {
throw new RuntimeException('Events dispatcher has not been set.');
}
$this->dispatcher->listen(MessageLogged::class, $callback);
}
/**
*
* @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
*
* @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.
*/
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;
}
$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 |
TEMP | "***************"
|
TMPDIR | "***************"
|
TMP | "***************"
|
PATH | "************************************************************"
|
USER | "*****"
|
HOME | "***********"
|
SCRIPT_NAME | "***********"
|
REQUEST_URI | "*"
|
QUERY_STRING | "" |
REQUEST_METHOD | "***"
|
SERVER_PROTOCOL | "********"
|
GATEWAY_INTERFACE | "*******"
|
REDIRECT_URL | "*"
|
REMOTE_PORT | "*****"
|
SCRIPT_FILENAME | "************************************************"
|
SERVER_ADMIN | "**************"
|
CONTEXT_DOCUMENT_ROOT | "*************************************"
|
CONTEXT_PREFIX | "" |
REQUEST_SCHEME | "*****"
|
DOCUMENT_ROOT | "*************************************"
|
REMOTE_ADDR | "**************"
|
SERVER_PORT | "***"
|
SERVER_ADDR | "*********"
|
SERVER_NAME | "*********"
|
SERVER_SOFTWARE | "****************************************************"
|
SERVER_SIGNATURE | "" |
HTTP_PRIORITY | "******"
|
HTTP_ACCEPT_ENCODING | "***********************"
|
HTTP_SEC_FETCH_DEST | "********"
|
HTTP_SEC_FETCH_USER | "**"
|
HTTP_SEC_FETCH_MODE | "********"
|
HTTP_SEC_FETCH_SITE | "****"
|
HTTP_ACCEPT | "***************************************************************************************************************************************"
|
HTTP_USER_AGENT | "***************************************************************************************************************"
|
HTTP_UPGRADE_INSECURE_REQUESTS | "*"
|
HTTP_ACCEPT_LANGUAGE | "**************"
|
HTTP_SEC_CH_UA_PLATFORM | "*********"
|
HTTP_SEC_CH_UA_MOBILE | "**"
|
HTTP_SEC_CH_UA | "******************************************************************"
|
HTTP_CONNECTION | "*****"
|
HTTP_X_FORWARDED_FOR | "**************"
|
HTTP_HOST | "*********"
|
proxy-nokeepalive | "*"
|
HTTPS | "**"
|
REDIRECT_STATUS | "***"
|
REDIRECT_HTTPS | "**"
|
FCGI_ROLE | "*********"
|
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 | "*********"
|
DB_PREFIX | "******"
|
BROADCAST_DRIVER | "***"
|
CACHE_DRIVER | "****"
|
CACHE_EXPIRE | "**"
|
QUEUE_CONNECTION | "********"
|
SESSION_DRIVER | "****"
|
SESSION_LIFETIME | "***"
|
SESSION_SECURE_COOKIE | "****"
|
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 | "***"
|
MAILJET_APIKEY | "********************************"
|
MAILJET_APISECRET | "********************************"
|
STRIPE_PUBLIC_KEY | "***********************************************************************************************************"
|
STRIPE_SECRET_KEY | "***********************************************************************************************************"
|
STRIPE_WEBHOOK_KEY | "**************************************"
|
STRIPE_TEST_PUBLIC_KEY | "***********************************************************************************************************"
|
STRIPE_TEST_SECRET_KEY | "***********************************************************************************************************"
|
STRIPE_TEST_WEBHOOK_KEY | "**************************************"
|
YOOKASSA_ID | "******"
|
YOOKASSA_KEY | "************************************************"
|
RECAPTCHA_CLIENT | "****************************************"
|
RECAPTCHA_SECRET | "****************************************"
|
PADDLE_VENDOR_ID | "******"
|
PADDLE_API_KEY | "**************************************************"
|
PADDLE_WEBHOOK_KEY | "**********************************************************************"
|
PADDLE_URL | "**********************"
|
REMOTE_SERVER_POST | "***************************"
|
REMOTE_SERVER_DOWNLOAD_FOLDER | "*************************"
|
REMOTE_SERVER_HOST | "***********"
|
REMOTE_SERVER_PORT | "**"
|
REMOTE_SERVER_USER | "*******"
|
REMOTE_SERVER_PASS | "************"
|
REMOTE_SERVER_ROOT | "*************"
|
REMOTE_SERVER_FOLDER | "*******"
|
GOOGLE_OAUTH_CLIENT_ID | "************************************************************************"
|
GOOGLE_OAUTH_CLIENT_SECRET | "***********************************"
|
TWITTER_OAUTH_CLIENT_ID | "**********************************"
|
TWITTER_OAUTH_CLIENT_SECRET | "**************************************************"
|
GITHUB_OAUTH_CLIENT_ID | "********************"
|
GITHUB_OAUTH_CLIENT_SECRET | "****************************************"
|
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 | "*********"
|
DB_PREFIX | "******"
|
BROADCAST_DRIVER | "***"
|
CACHE_DRIVER | "****"
|
CACHE_EXPIRE | "**"
|
QUEUE_CONNECTION | "********"
|
SESSION_DRIVER | "****"
|
SESSION_LIFETIME | "***"
|
SESSION_SECURE_COOKIE | "****"
|
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 | "***"
|
MAILJET_APIKEY | "********************************"
|
MAILJET_APISECRET | "********************************"
|
STRIPE_PUBLIC_KEY | "***********************************************************************************************************"
|
STRIPE_SECRET_KEY | "***********************************************************************************************************"
|
STRIPE_WEBHOOK_KEY | "**************************************"
|
STRIPE_TEST_PUBLIC_KEY | "***********************************************************************************************************"
|
STRIPE_TEST_SECRET_KEY | "***********************************************************************************************************"
|
STRIPE_TEST_WEBHOOK_KEY | "**************************************"
|
YOOKASSA_ID | "******"
|
YOOKASSA_KEY | "************************************************"
|
RECAPTCHA_CLIENT | "****************************************"
|
RECAPTCHA_SECRET | "****************************************"
|
PADDLE_VENDOR_ID | "******"
|
PADDLE_API_KEY | "**************************************************"
|
PADDLE_WEBHOOK_KEY | "**********************************************************************"
|
PADDLE_URL | "**********************"
|
REMOTE_SERVER_POST | "***************************"
|
REMOTE_SERVER_DOWNLOAD_FOLDER | "*************************"
|
REMOTE_SERVER_HOST | "***********"
|
REMOTE_SERVER_PORT | "**"
|
REMOTE_SERVER_USER | "*******"
|
REMOTE_SERVER_PASS | "************"
|
REMOTE_SERVER_ROOT | "*************"
|
REMOTE_SERVER_FOLDER | "*******"
|
GOOGLE_OAUTH_CLIENT_ID | "************************************************************************"
|
GOOGLE_OAUTH_CLIENT_SECRET | "***********************************"
|
TWITTER_OAUTH_CLIENT_ID | "**********************************"
|
TWITTER_OAUTH_CLIENT_SECRET | "**************************************************"
|
GITHUB_OAUTH_CLIENT_ID | "********************"
|
GITHUB_OAUTH_CLIENT_SECRET | "****************************************"
|