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');