PHP Classes

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

Recommend this page to a friend!
  Classes of Francisco Núñez   Catalyst   bootstrap/loaders/ld-logger-function.php   Download  
File: bootstrap/loaders/ld-logger-function.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: 4 days ago
Size: 4,487 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) <icarosnet@gmail.com>
 * @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\Helpers\Log\Logger;

if (!
defined('INITIALIZED_LOGGER_FUNCTION')) {
   
/**
     * Helper function for logging messages
     *
     * @param string $level Log level (emergency, alert, critical, error, warning, notice, info, debug)
     * @param string $message Message to log
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_message(string $level, string $message, array $context = []): void
   
{
       
Logger::getInstance()->log($level, $message, $context);
    }

   
/**
     * Helper function for logging errors
     *
     * @param string $message Error message
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_error(string $message, array $context = []): void
   
{
       
Logger::getInstance()->error($message, $context);
    }

   
/**
     * Helper function for logging debug information
     *
     * @param string $message Debug message
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_debug(string $message, array $context = []): void
   
{
       
Logger::getInstance()->debug($message, $context);
    }

   
/**
     * Helper function for logging events with a specific type
     *
     * @param string $type Event type (system, user, mail)
     * @param string $event Event name
     * @param string $message Event description
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_event(string $type, string $event, string $message, array $context = []): void
   
{
       
$logger = Logger::getInstance();

        switch (
strtolower($type)) {
            case
'system':
               
$logger->system($event, $message, $context);
                break;
            case
'user':
               
$logger->user($event, $message, $context);
                break;
            case
'mail':
               
$logger->mail($event, $message, $context);
                break;
            default:
               
// Si el tipo no es reconocido, registrar como mensaje informativo
               
$context['event_type'] = $type;
               
$context['event_name'] = $event;
               
$logger->info($message, $context);
        }
    }

   
/**
     * Helper function for logging system events
     *
     * @param string $event Event name
     * @param string $message Event description
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_system(string $event, string $message, array $context = []): void
   
{
       
log_event('system', $event, $message, $context);
    }

   
/**
     * Helper function for logging user events
     *
     * @param string $event Event name
     * @param string $message Event description
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_user(string $event, string $message, array $context = []): void
   
{
       
log_event('user', $event, $message, $context);
    }

   
/**
     * Helper function for logging mail events
     *
     * @param string $event Event name
     * @param string $message Event description
     * @param array $context Additional context information
     * @return void
     * @throws Exception
     */
   
function log_mail(string $event, string $message, array $context = []): void
   
{
       
log_event('mail', $event, $message, $context);
    }

   
define('INITIALIZED_LOGGER_FUNCTION', true);
}