Nairobi National Park

Nairobi National Park

Nairobi National Park is a national park in Kenya that was established in 1946 about 7km (4.3mi) south of Nairobi. Despite of its proximately to the city and its relative small size, it boasts a large and varied wildlife population, and is one of the Kenya’s most successful rhinoceros’ sanctuaries and it is one of the only a few parks in Kenya where the visitors can be certain of seeking a black rhinoceros in its natural habitat.

The Nairobi national park is fenced on three sides, where as the open southern boundary allows migrating wildlife to move between the park and the adjacent Kitengela plains, herbivores gather in the park during the dry season. Nairobi national park is negatively affected by increasing human and livestock populations, changing land use and poaching of wildlife, despite its proximity to the city and its relatively small size, it boasts a large and varied wildlife population, and is one of the Kenya’s most successful rhinoceros’ sanctuaries. Kenya Wildlife Service runs the park and regulates, manages and promotes conservation of flora and fauna in Nairobi National park.


Attractions of Nairobi National Park.

Wildlife and Bird species.

Nairobi National park contains various animal’s species including the buffalo, giraffe, lion, leopard, baboon, zebra, wildebeest, cheetah, black rhino, impala, water bucks and among others, the park has well has over 100 mammal species, and as well as over 400 migratory and endemic bird species like the Black- headed heron, ostrich, common moorhen, long- tailed fiscal, secretary bird and among more.

 

Impala observation point.

The Impala observation is the highest point in Nairobi national park offering a view of the impalas in the open plains in Nairobi national park filled with the impalas. Impala observation point is also a picnic or event that allows tourists to dine while watching Kenya wildlife around Nairobi National Park.

 

The ivory burning site.                                                          

This a landmark for the conservation of wildlife marking the place where the former president of Kenya President Daniel Arap Moi burnt ivory as a way of sending a message to poachers to stop their acts and to show Kenya’s commitments to conservation and zero tolerance to the ivory trade. This site is found in the northwest and of Nairobi National park.

 

David Sheldrick Elephant orphanage.

This is a rescue center for elephants as well as other wildlife species such as the rhinos. The elephants are taken care of from this orphanage and later taken back to the Tsavo National park, The Sheldrick elephant orphanage is the best place to learn about elephants and their conservation.

 

Bomas of Kenya.

About 10 kilometres from Nairobi, Bomas of Kenya is a living museum celebrating the colourful tribes of Kenya. This is a great place to learn about the lifestyle, art, music, crafts, and culture of each tribe. The complex encompasses a recreated traditional village with homesteads or bomas, each one reflecting the culture of a major ethnic group. Every afternoon, a team performs traditional dances and songs in the larger theatre. Audience participation makes the performances even more enjoyable.

 

Karura Forest Reserve.

Karura Forest is the lush green space is actually one of the largest urban forests in the world, and you can be able to discover all kinds of things to see and do, hike to a multi- tiered 15 – meter waterfall, enjoy a picnic in the gardens, watching monkeys clamber through the trees, or just sit quietly by Lily Lake and soak up the tranquillity. Bike riding is also popular along the well – marked red –clay rails.

 

Giraffe center.

At the Giraffe centre, on the edge of Nairobi National Park, visitors can come face to face with endangered Rothschild’s giraffes. This non- profit center lies on the grounds of the plush guesthouse and its main mission is to provide conservation education for children.

 

Nairobi National Museum.

The museum aims to interpret Kenya’s rich heritage and offers a one stop for visitors to sample the country’s rich heritage both for education and leisure.

 

Activities done in Nairobi National Park.

Horse Riding.

Malo stables offer fantastic forest rides with the views of the Ngong Hills, the horses are highly trained and the hosts extremely professional. There are variety of riding options available that could include an alfresco lunch after a lovely ride through the forest at an extra cost.

 

Breakfast with the giraffes.

Waking up to breakfast with a giraffe must be one of the most incredible and unique experiences anyone can have. This activity is reserved exclusively for overnight guests of Giraffe Manor and he is one not to be missed.

 

Game Drives

This takes place at different times of a day in the park that is in the morning and in the evening. During the morning game drives chances of viewing the wildlife is bigger compared since the wildlife species are more active at this time of the day compared to evening game drives where the wildlife species take shelter in the hidden locations to avoid heat form the suns and to avoid predators.

 

Walking Safaris.

This takes place along the raised wooden walkway with a good view of the wildlife species in the park. This activity allows the guests to see what they expect when in the wild also providing an experience with wildlife species as close as the visitors as they can get to them during the waking safaris.

 

Bird watching.

The park comprises variety of the bird species both the endemic and migratory species such as ostriches, secretary birds, corncrake, white –headed vulture and among others. This helps the guests to spot various bird species in the park while on Wildlife Kenya Safaris.

 

Camping and Picnicking.

At night under the cover of the countless stars and the feeling of morning dew on your feet as you take in the crisp clean air in the morning as a reality that awaits you in the park, the beauty of camping is that you are in charge, sleeping times, meal times, even bath times if your operating limited time, picnicking works excellently.

 

Fishing.

Fishing activity also done during your visit to Nairobi National park this is supported by the Indian ocean, which aids in fishing.

 

Nairobi National park entrance fee.

Category

EAC Citizen 

(Kshs)

Residents (USD)

Non- Residents

(USD)

Adult200050100
Child/ Student5002035

 

Best time to visit Nairobi National Park.

The best time to visit the park is during the dry moths, from July to October, and also January and February. July has the lowest rainfall among all the months of the year. Along with July, August is the driest month in Nairobi.

 

Where to stay in Nairobi National park.

Accommodations in Nairobi National park are grouped into budget, mid –range and luxury as indicated below,

Budget accommodation. Radisson Blue hotel Nairobi, Double tree by Hilton Hotel, Royal tulip Canaan Nairobi, Town Lodge uphill, Fairview hotel, The Monarch hotel and among others.

Mid – range accommodation. Stardom hotel, Tawala homes, Bush house and camp and among others.

Luxury accommodation. Ole sereni hotel, African heritage house, Ololo safari lodge.

 

How to get to Nairobi National Park.

Nairobi national park can be accessed by both road and flight transport.

By Road Transport. Accessing Nairobi national park  10 km from Nairobi. Entry gates to Nairobi national park includes KWS headquarters, Langate gate, Maasai Gate, Mbagathi gate and Banda gate. It’s (21.1 km) through Southern Bypass 39 minutes and (17.2 km) through Mombasa Road/ A104 which takes 42 minutes.

By Air/ Flight Transport. Here from Jomo Kenyatta international airport and Wilson airport.

Nairobi National Park is the world’s only wildlife capital, wide open grass plains and backdrop of the city scrapers, scattered acacia bush play host to a variety of wildlife including the endangered black rhino, leopards, lions, cheetahs, hyenas, buffaloes, giraffes and diverse birdlife with over 400 species recorded which makes the park unique with various activities like game viewing, bird watching and among more which makes it to be the best capital safari destination.

 

Accommodation in Nairobi

Basic Accommodation: 67 Airport Hotel - Superior Deluxe Room or similar accommodation.

Standard Accommodation: ibis Styles Nairobi Westlands | The Boma Nairobi - Superior Room | Trademark Hotel or similar accommodation.

MidRange Accommodation: Movenpick Hotel - Superior Room | Sarova PanAfric Hotel or similar accommodation.

Luxury Accommodation: Four Points by Sheraton Hotel | Fairmont the Norfolk - Fairmont Room or similar accommodation.

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 21:50:43] local.ERROR: file_put_contents(): write of 209 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 209 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('6MWkCXXlFlZXcUc...', '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 209 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 209 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 @1780696243 {
        date: 2026-06-05 21:50:43.132578 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-06-05 21:50:43] local.ERROR: file_put_contents(): write of 209 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 209 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('6MWkCXXlFlZXcUc...', '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 209 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 209 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 @1780696243 {
        date: 2026-06-05 21:50:43.132578 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-06-05 21:50:43] local.ERROR: file_put_contents(): write of 209 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 209 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('6MWkCXXlFlZXcUc...', '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 209 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 209 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 @1780696243 {
        date: 2026-06-05 21:50:43.132578 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-06-05 21:50:43] local.ERROR: file_put_contents(): write of 209 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 209 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('6MWkCXXlFlZXcUc...', '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 209 bytes failed with errno=122 Disk quota exceeded"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 209 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 209 bytes failed with errno=122 Disk quota exceeded"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 209 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 209 bytes failed with errno=122 Disk quota exceeded"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 209 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 209 bytes failed with errno=122 Disk quota exceeded"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 209 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 209 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 209 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 209 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
kimzebra_adventures_safaris_session
"eyJpdiI6Imc0Q0t1cm1zMWUwMDNCZDFRUzM3amc9PSIsInZhbHVlIjoiaVNcL0l2VUNneVVnbVFaOVUrdUxuRDZzTGd6QTQ3aTlpOWpTN3pSNEhrV2IzclBiUGtjNm1nMmhsWXhRcTl3ZVwvIiwibWFjIjoiMmNkM2Q5OWZiNzY1YjVlMTI0M2QxY2IzNDJmMGI1ZDcxMWMwODJlYWM4YmZkMjY5ZjczMDM2YjM0NDcxMzViZSJ9"
XSRF-TOKEN
"eyJpdiI6IkVXN21IT0ZhUkFjUUZ2cnNxK3NWZnc9PSIsInZhbHVlIjoiMEx0TUJOUnNrbUt2SWoxSVwvcEw1aGFPXC95SmpsQ3E0b3MwbXFxZEZvMmpadHRFMDVSNXpTY2hBXC9UXC9HdUFpWTciLCJtYWMiOiI4MjExNWNiMjk3NDQwYjVlMzgyYWNhNjc5ODAwZDA0MmMxNDczNzY5YTlmMTQ1ZTdkZjQyOGFmMDhhY2Y1ZjNkIn0="
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
"kimzebra_adventures_safaris_session=eyJpdiI6Imc0Q0t1cm1zMWUwMDNCZDFRUzM3amc9PSIsInZhbHVlIjoiaVNcL0l2VUNneVVnbVFaOVUrdUxuRDZzTGd6QTQ3aTlpOWpTN3pSNEhrV2IzclBiUGtjNm1nMmhsWXhRcTl3ZVwvIiwibWFjIjoiMmNkM2Q5OWZiNzY1YjVlMTI0M2QxY2IzNDJmMGI1ZDcxMWMwODJlYWM4YmZkMjY5ZjczMDM2YjM0NDcxMzViZSJ9; XSRF-TOKEN=eyJpdiI6IkVXN21IT0ZhUkFjUUZ2cnNxK3NWZnc9PSIsInZhbHVlIjoiMEx0TUJOUnNrbUt2SWoxSVwvcEw1aGFPXC95SmpsQ3E0b3MwbXFxZEZvMmpadHRFMDVSNXpTY2hBXC9UXC9HdUFpWTciLCJtYWMiOiI4MjExNWNiMjk3NDQwYjVlMzgyYWNhNjc5ODAwZDA0MmMxNDczNzY5YTlmMTQ1ZTdkZjQyOGFmMDhhY2Y1ZjNkIn0%3D"
HTTP_HOST
"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
"aiNEswrmg0q4lnLZMva2CgAArEs"
REDIRECT_QS_ConnectionId
"178069624305968807929028"
REDIRECT_SCRIPT_URL
"/destination/nairobi-national-park"
REDIRECT_SCRIPT_URI
"https://kim.tours/destination/nairobi-national-park"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"kim.tours"
REDIRECT_HTTP2
"on"
REDIRECT_H2PUSH
"off"
REDIRECT_H2_PUSH
"off"
REDIRECT_H2_PUSHED
""
REDIRECT_H2_PUSHED_ON
""
REDIRECT_H2_STREAM_ID
"21"
REDIRECT_H2_STREAM_TAG
"929028-902-21"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aiNEswrmg0q4lnLZMva2CgAArEs"
QS_ConnectionId
"178069624305968807929028"
SCRIPT_URL
"/destination/nairobi-national-park"
SCRIPT_URI
"https://kim.tours/destination/nairobi-national-park"
HTTPS
"on"
SSL_TLS_SNI
"kim.tours"
HTTP2
"on"
H2PUSH
"off"
H2_PUSH
"off"
H2_PUSHED
""
H2_PUSHED_ON
""
H2_STREAM_ID
"21"
H2_STREAM_TAG
"929028-902-21"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"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
"31743"
REDIRECT_URL
"/destination/nairobi-national-park"
SERVER_PROTOCOL
"HTTP/2.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/destination/nairobi-national-park"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1780696243.0643
REQUEST_TIME
1780696243
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