PHP code example of opxcore / log-manager

1. Go to this page and download the library: Download opxcore/log-manager library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

opxcore / log-manager example snippets


use OpxCore\Log\LogManager;

$manager = new LogManager($default, $loggers, $groups);

use OpxCore\Interfaces\LoggerInterface;
use OpxCore\Log\LogManager;

$container->bind(
    LoggerInterface::class,
    LogManager::class,
    [
        'default' => $default,
        'loggers' => $loggers,
        'groups' => $groups,
    ]
);

$manager = $container->make(LoggerInterface::class);

$container->bind(LoggerInterface::class, LogManager::class);

$manager = $container->make(LoggerInterface::class, [
        'default' => $default,
        'loggers' => $loggers,
        'groups' => $groups,
    ]);

$manager->bind('custom_logger', function() {
    return new Logger(...);
});

$manager->emergency($message, $context);
$manager->alert($message, $context);
$manager->critical($message, $context);
$manager->error($message, $context);
$manager->warning($message, $context);
$manager->notice($message, $context);
$manager->info($message, $context);
$manager->debug($message, $context);
$manager->log($level, $message, $context);

    $default = 'file'; // Also you can use 'default' => ['file', 'null'],    
    $loggers = [
        'file' => [
            'driver' => \OpxCore\Log\LogFile::class,
            'filename' => '/www/project/logs',
        ],
        'null' => [
            'driver' => \OpxCore\Log\LogNull::class,
        ]
    ];
    $groups = [
        'local' => ['file', 'null'],
        'network' => ['email'],
    ];

namespace \OpxCore\Log;

class LogFile implements \Psr\Log\LoggerInterface
{
    protected string $filename;
    
    public function __construct(string $filename)
    {
        $this->filename = $filename;
    }
    
    ...
}

$manager->logger('file')->debug('Some message');

$manager->logger()->debug('Some message');

$manager->debug('Some message');