| 
<?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);
 }
 
 
 |