Bird Watching Safaris

Bird Watching Safaris


Ornithologists, avian enthusiasts and like-minded twitchers looking for speckled feathered creatures will love the specialist Birding Safari by Kim Tours that are tailored to your needs. We have experienced and know all of the finest locations and prime viewing times of the year to see the resident and migratory species that top your African bird watching tour list. 


Our guests step into real-world nature documentaries where millions of flamingos swirl on algae-rich lakes like Natron, Bogoria and Nakuru to viewing raptors like eagles, buzzards, kites of Southern Africa soaring overhead in search for prey alongside scavengers like vultures fending off predators for tiny morsels of a recent kill. Hundreds of species are found at the best-protected areas as well as private conservancies, including rare, threatened and endangered species. Your birding journal fills quickly as the bushes, trees, grasses and other flora hide brilliantly colored feathered birdlife. Our birdwatchers safaris take you to forests, woodlands, wetlands, lakes, swamps, river banks and other habitats where avi-fauna thrive.


We know when the migrators characteristically arrive based on historic information and also from weekly to monthly reports from safari accommodations and our guides, as well as when specific behaviors occur, such as mating and nesting, specific to varied wildernesses. Africa is recognized around the world for its birds as noted by the many Important Bird Areas on the continent with accessible and specialty birding countries being Zambia, South Africa, Uganda, Botswana, Tanzania and Kenya with upcoming countries vying for recognition like Rwanda and Malawi.

Our ornithological guides skillfully locate them on their preferred resident ecology and also identify the species by sound and sight. You are enlightened and engaged by their vast knowledge of African avi-fauna. For recreational birders, some accommodations host birding walks and provide you with an identification card of local species. We coordinate all aspects of your birding safari, including recommendations on national parks, reserves and private conservancies, as well as camps and lodges where you can see many species, even from the comfort of your private verandah.

Whoops! There was an error.
ErrorException (E_NOTICE)
fwrite(): write of 1821 bytes failed with errno=122 Disk quota exceeded ErrorException thrown with message "fwrite(): write of 1821 bytes failed with errno=122 Disk quota exceeded" Stacktrace: #11 ErrorException in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:131 #10 fwrite in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:131 #9 Monolog\Handler\StreamHandler:streamWrite in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:117 #8 Monolog\Handler\StreamHandler:write in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #7 Monolog\Handler\AbstractProcessingHandler:handle in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Logger.php:344 #6 Monolog\Logger:addRecord in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Logger.php:712 #5 Monolog\Logger:error in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203 #4 Illuminate\Log\Writer:writeLog in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114 #3 Illuminate\Log\Writer:error in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /home2/kimtours/theapp/app/Exceptions/Handler.php:39 #1 App\Exceptions\Handler:report in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
11
ErrorException
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php131
10
fwrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php131
9
Monolog\Handler\StreamHandler streamWrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php117
8
Monolog\Handler\StreamHandler write
/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php39
7
Monolog\Handler\AbstractProcessingHandler handle
/vendor/monolog/monolog/src/Monolog/Logger.php344
6
Monolog\Logger addRecord
/vendor/monolog/monolog/src/Monolog/Logger.php712
5
Monolog\Logger error
/vendor/laravel/framework/src/Illuminate/Log/Writer.php203
4
Illuminate\Log\Writer writeLog
/vendor/laravel/framework/src/Illuminate/Log/Writer.php114
3
Illuminate\Log\Writer error
/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php113
2
Illuminate\Foundation\Exceptions\Handler report
/app/Exceptions/Handler.php39
1
App\Exceptions\Handler report
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php81
0
Illuminate\Foundation\Bootstrap\HandleExceptions handleException
[internal]0
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        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)) {
Arguments
  1. "fwrite(): write of 1821 bytes failed with errno=122 Disk quota exceeded"
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        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)) {
Arguments
  1. stream resource @10
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/home2/kimtours/theapp/storage/logs/laravel.log"
      options: []
    }
    
  2. """
    [2026-06-05 19:11:25] local.ERROR: file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
    [stacktrace]\n
    #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
    #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
    #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
    #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('uziS0zvB84EJ7He...', 'a:3:{s:6:\"_toke...')\n
    #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
    #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #8 {main}\n
    "} \n
    """
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
            $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);
    }
Arguments
  1. stream resource @10
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/home2/kimtours/theapp/storage/logs/laravel.log"
      options: []
    }
    
  2. array:8 [
      "message" => "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
          #code: 0
          #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1780686685 {
        date: 2026-06-05 19:11:25.057041 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-06-05 19:11:25] local.ERROR: file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
        #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('uziS0zvB84EJ7He...', 'a:3:{s:6:\"_toke...')\n
        #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
 *
 * @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)
    {
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
          #code: 0
          #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1780686685 {
        date: 2026-06-05 19:11:25.057041 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-06-05 19:11:25] local.ERROR: file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
        #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('uziS0zvB84EJ7He...', 'a:3:{s:6:\"_toke...')\n
        #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Logger.php
        }
        $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
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
          #code: 0
          #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1780686685 {
        date: 2026-06-05 19:11:25.057041 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-06-05 19:11:25] local.ERROR: file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
        #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('uziS0zvB84EJ7He...', 'a:3:{s:6:\"_toke...')\n
        #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Logger.php
     * @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.
Arguments
  1. 400
    
  2. "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     * @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
Arguments
  1. "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Log/Writer.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
Arguments
  1. "error"
    
  2. "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
     */
    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
     */
Arguments
  1. "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/app/Exceptions/Handler.php
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];
 
    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @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);
    }
}
 
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
      #code: 0
      #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
/home2/kimtours/theapp/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($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);
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
      #code: 0
      #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
[internal]
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 216 bytes failed with errno=122 Disk quota exceeded"
      #code: 0
      #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    

Environment & details:

empty
empty
empty
Key Value
XSRF-TOKEN
"eyJpdiI6IkpRelZyaTVDM0E5T0x3RDBVRVd1dWc9PSIsInZhbHVlIjoiMzZpV3hqRUxwT0lEMFU4UU5HbXJxNzFzaWNudEVlTFV4MUZGSXZxUkkzdDBDRkdWSWp6M1R5NGxqOHR6cVFsbSIsIm1hYyI6IjdhYmNhZDlkODVlODE5NDFmYmFlNDVkYmZkNTIxNmFiYTkzZWY2YTk0NzFiYzM0ZmZiZDBlMDg2MDFhZGY5YTkifQ=="
kimzebra_adventures_safaris_session
"eyJpdiI6ImJlUno0bnNrOGIwaSs2TVwvQTFNUzhBPT0iLCJ2YWx1ZSI6IjhFWEFzQVwvVzZLc3ZDRktzUUdFYWlBblhoblQ1YnN2Wm90c1dRU0xRSDFnSXFjbjBjWTV5dlhKbXd3Z1gybFBLIiwibWFjIjoiMzYzNmNjYzI4ZmNhYmJkN2ZjOTkwNzhmNjg3ZTBkNGE2MzVlMTVjZjdiYTM1ODNhNjhmNmFlMjVhZTE5NTE4NyJ9"
empty
Key Value
LSPHP_ENABLE_USER_INI
"on"
PATH
"/usr/local/bin:/usr/bin:/bin"
TEMP
"/tmp"
TMP
"/tmp"
TMPDIR
"/tmp"
PWD
"/"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
CONTENT_LENGTH
"0"
HTTP_COOKIE
"XSRF-TOKEN=eyJpdiI6IkpRelZyaTVDM0E5T0x3RDBVRVd1dWc9PSIsInZhbHVlIjoiMzZpV3hqRUxwT0lEMFU4UU5HbXJxNzFzaWNudEVlTFV4MUZGSXZxUkkzdDBDRkdWSWp6M1R5NGxqOHR6cVFsbSIsIm1hYyI6IjdhYmNhZDlkODVlODE5NDFmYmFlNDVkYmZkNTIxNmFiYTkzZWY2YTk0NzFiYzM0ZmZiZDBlMDg2MDFhZGY5YTkifQ%3D%3D; kimzebra_adventures_safaris_session=eyJpdiI6ImJlUno0bnNrOGIwaSs2TVwvQTFNUzhBPT0iLCJ2YWx1ZSI6IjhFWEFzQVwvVzZLc3ZDRktzUUdFYWlBblhoblQ1YnN2Wm90c1dRU0xRSDFnSXFjbjBjWTV5dlhKbXd3Z1gybFBLIiwibWFjIjoiMzYzNmNjYzI4ZmNhYmJkN2ZjOTkwNzhmNjg3ZTBkNGE2MzVlMTVjZjdiYTM1ODNhNjhmNmFlMjVhZTE5NTE4NyJ9"
HTTP_HOST
"mail.kim.tours"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_X_HTTPS
"1"
REDIRECT_UNIQUE_ID
"aiMfXNvdR2u-Hnm2zrh5PAAAT1s"
REDIRECT_QS_ConnectionId
"178068668498776815290795"
REDIRECT_SCRIPT_URL
"/safaris-tours/bird-watching-safaris"
REDIRECT_SCRIPT_URI
"https://mail.kim.tours/safaris-tours/bird-watching-safaris"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"mail.kim.tours"
REDIRECT_HTTP2
"on"
REDIRECT_H2PUSH
"off"
REDIRECT_H2_PUSH
"off"
REDIRECT_H2_PUSHED
""
REDIRECT_H2_PUSHED_ON
""
REDIRECT_H2_STREAM_ID
"7"
REDIRECT_H2_STREAM_TAG
"290795-433-7"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aiMfXNvdR2u-Hnm2zrh5PAAAT1s"
QS_ConnectionId
"178068668498776815290795"
SCRIPT_URL
"/safaris-tours/bird-watching-safaris"
SCRIPT_URI
"https://mail.kim.tours/safaris-tours/bird-watching-safaris"
HTTPS
"on"
SSL_TLS_SNI
"mail.kim.tours"
HTTP2
"on"
H2PUSH
"off"
H2_PUSH
"off"
H2_PUSHED
""
H2_PUSHED_ON
""
H2_STREAM_ID
"7"
H2_STREAM_TAG
"290795-433-7"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"mail.kim.tours"
SERVER_ADDR
"10.37.141.148"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.216.213"
DOCUMENT_ROOT
"/home2/kimtours/public_html"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/home2/kimtours/public_html"
SERVER_ADMIN
"webmaster@kim.tours"
SCRIPT_FILENAME
"/home2/kimtours/public_html/index.php"
REMOTE_PORT
"19522"
REDIRECT_URL
"/safaris-tours/bird-watching-safaris"
SERVER_PROTOCOL
"HTTP/2.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/safaris-tours/bird-watching-safaris"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1780686684.9922
REQUEST_TIME
1780686684
argv
[]
argc
0
APP_NAME
"Kim'zebra Adventures & Safaris"
APP_ENV
"local"
APP_KEY
"base64:B3WF9t8UARMSYbPts9CiehrwZw8seRi6wtrqlUxZC6g="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://localhost"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"kimtours_data"
DB_USERNAME
"kimtours_staff"
DB_PASSWORD
"123s_s321"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"mail.kim.tours"
MAIL_PORT
"465"
MAIL_USERNAME
"noreply@kim.tours"
MAIL_PASSWORD
"7wWq1n06tnUz"
MAIL_ENCRYPTION
"ssl"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
Key Value
LSPHP_ENABLE_USER_INI
"on"
PATH
"/usr/local/bin:/usr/bin:/bin"
TEMP
"/tmp"
TMP
"/tmp"
TMPDIR
"/tmp"
PWD
"/"
APP_NAME
"Kim'zebra Adventures & Safaris"
APP_ENV
"local"
APP_KEY
"base64:B3WF9t8UARMSYbPts9CiehrwZw8seRi6wtrqlUxZC6g="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://localhost"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"kimtours_data"
DB_USERNAME
"kimtours_staff"
DB_PASSWORD
"123s_s321"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"mail.kim.tours"
MAIL_PORT
"465"
MAIL_USERNAME
"noreply@kim.tours"
MAIL_PASSWORD
"7wWq1n06tnUz"
MAIL_ENCRYPTION
"ssl"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
0. Whoops\Handler\PrettyPageHandler