PHP code example of sirix / monolog
1. Go to this page and download the library: Download sirix/monolog 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/ */
sirix / monolog example snippets
use Sirix\Monolog\ConfigProvider;
return [
ConfigProvider::class,
// ...
];
use Monolog\Level;
use Sirix\Monolog\Enum\ConfigKey;
use Sirix\Monolog\Enum\FormatterType;
use Sirix\Monolog\Enum\HandlerType;
use Sirix\Monolog\Enum\ProcessorType;
return [
ConfigKey::Root->value => [
ConfigKey::Channels->value => [
'default' => [
ConfigKey::Name->value => 'app',
ConfigKey::Handlers->value => ['stream'],
ConfigKey::Processors->value => ['psr_message'],
],
],
ConfigKey::Handlers->value => [
'stream' => [
ConfigKey::Type->value => HandlerType::Stream,
ConfigKey::Formatter->value => 'line',
ConfigKey::Options->value => [
'stream' => 'php://stderr',
'level' => Level::Debug,
],
],
],
ConfigKey::Formatters->value => [
'line' => [
ConfigKey::Type->value => FormatterType::Line,
ConfigKey::Options->value => [
'format' => "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n",
'date_format' => 'c',
'ignore_empty_context_and_extra' => true,
],
],
],
ConfigKey::Processors->value => [
'psr_message' => [
ConfigKey::Type->value => ProcessorType::PsrLogMessage,
],
],
],
];
use Psr\Log\LoggerInterface;
$logger = $container->get(LoggerInterface::class);
$logger->info('User {user_id} logged in', ['user_id' => 42]);
use Sirix\Monolog\Enum\ConfigKey;
use Sirix\Monolog\Enum\HandlerType;
return [
ConfigKey::Root->value => [
ConfigKey::LoggerServices->value => [
'logger' => 'default',
'logger_audit' => 'audit',
'logger_crypto_transaction' => [
ConfigKey::Channel->value => 'audit',
ConfigKey::Name->value => 'CryptoTransactionService',
],
],
ConfigKey::Channels->value => [
'default' => [
ConfigKey::Name->value => 'app',
ConfigKey::Handlers->value => ['app_file'],
],
'audit' => [
ConfigKey::Name->value => 'audit',
ConfigKey::Handlers->value => ['audit_file'],
],
],
ConfigKey::Handlers->value => [
'app_file' => [
ConfigKey::Type->value => HandlerType::Stream,
ConfigKey::Options->value => [
'stream' => 'data/log/app.log',
],
],
'audit_file' => [
ConfigKey::Type->value => HandlerType::Stream,
ConfigKey::Options->value => [
'stream' => 'data/log/audit.log',
],
],
],
],
];
use App\Logging\AuditHandlerFactory;
use Sirix\Monolog\Enum\ConfigKey;
return [
ConfigKey::Root->value => [
ConfigKey::HandlerFactories->value => [
'audit' => AuditHandlerFactory::class,
],
],
];