PHP Classes

File: bootstrap/loaders/ld-logger-init.php

Recommend this page to a friend!
  Classes of Francisco Núñez   Catalyst   bootstrap/loaders/ld-logger-init.php   Download  
File: bootstrap/loaders/ld-logger-init.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Catalyst
Framework to develop MVC-based PHP applications
Author: By
Last change:
Date: 2 days ago
Size: 2,106 bytes
 

Contents

Class file image Download
<?php

declare(strict_types=1);

/**************************************************************************************
 *
 * Catalyst PHP Framework
 * PHP Version 8.3 (Required).
 *
 * @package Catalyst
 * @subpackage Public
 * @see https://github.com/arcanisgk/catalyst
 *
 * @author Walter Nuñez (arcanisgk/original founder) <[email protected]>
 * @copyright 2023 - 2025
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 *
 * @note This program is distributed in the hope that it will be useful
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * @category Framework
 * @filesource
 *
 * @link https://catalyst.dock Local development URL
 *
 */


use Catalyst\Framework\Core\Http\Request;
use
Catalyst\Helpers\Log\Logger;

// Ensure this file is executed only once
if (!defined('INITIALIZED_LOGGER')) {
    try {
       
// Initialize logger at application start
       
$logger = Logger::getInstance();
       
$logger->configure([
           
'logDirectory' => LOG_DIR,
           
'minimumLogLevel' => LOG_LEVEL,
           
'displayLogs' => false
       
]);

       
// Log application start
       
$logger->info('Application started', [
           
'environment' => defined('APP_ENV') ? APP_ENV : 'unknown',
           
'php_version' => PHP_VERSION,
           
'execution_mode' => IS_CLI ? 'CLI' : 'Web',
           
'start_time' => RUNTIME_START['TIME'] ?? microtime(true)
        ]);

       
// Initialize the Request handler for web requests
       
if (!IS_CLI) {
           
Request::getInstance();
           
$logger->debug('Request handler initialized');
        }

    } catch (
Exception $e) {
       
// Fallback error handling if logger fails
       
error_log('Logger initialization failed: ' . $e->getMessage());

       
// Only display error in development mode
       
if (IS_DEVELOPMENT) {
            echo
'Logger initialization error: ' . $e->getMessage();
        }
    }
   
define('INITIALIZED_LOGGER', true);
}