PHP code example of bizkit / loggable-command-bundle
1. Go to this page and download the library: Download bizkit/loggable-command-bundle 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/ */
namespace App;
use Bizkit\LoggableCommandBundle\Command\LoggableCommand;
class MyLoggableCommand extends LoggableCommand
{
protected static $defaultName = 'app:my-loggable';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$this->outputLogger->debug('Debug');
$this->outputLogger->notice('Notice');
// ...
}
}
namespace App;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputInterface;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputTrait;
class MyLoggableCommand extends MyBaseCommand implements LoggableOutputInterface
{
use LoggableOutputTrait;
protected function execute(InputInterface $input, OutputInterface $output): int
{
// ...
}
}
namespace App;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputTrait;
use Bizkit\LoggableCommandBundle\LoggableOutput\NamedLoggableOutputInterface;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
class MyMessageHandler implements MessageHandlerInterface, NamedLoggableOutputInterface
{
use LoggableOutputTrait;
public function __invoke(MyMessage $myMessage): void
{
$this->outputLogger->error('Error');
$this->outputLogger->info('Info');
}
public function getOutputLogName(): string
{
return 'my_log_name';
}
}
namespace App;
use Bizkit\LoggableCommandBundle\Command\LoggableCommand;
use Bizkit\LoggableCommandBundle\ConfigurationProvider\Attribute\LoggableOutput;
#[LoggableOutput(filename: 'my_custom_name', type: 'rotating_file')]
class MyLoggableCommand extends LoggableCommand
{
protected function execute(InputInterface $input, OutputInterface $output): int
{
// ...
}
}
namespace App;
use Bizkit\LoggableCommandBundle\ConfigurationProvider\Attribute\LoggableOutput;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputInterface;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputTrait;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
#[LoggableOutput(filename: 'my_log_name')]
class MyMessageHandler implements MessageHandlerInterface, LoggableOutputInterface
{
use LoggableOutputTrait;
public function __invoke(MyMessage $myMessage): void
{
// ...
}
}
namespace App;
use Bizkit\LoggableCommandBundle\ConfigurationProvider\Attribute\LoggableOutput;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputInterface;
use Bizkit\LoggableCommandBundle\LoggableOutput\LoggableOutputTrait;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
#[LoggableOutput(path: '%kernel.logs_dir%/messenger/{filename}.log')]
abstract class MyBaseMessageHandler implements MessageHandlerInterface, LoggableOutputInterface
{
use LoggableOutputTrait;
}
#[LoggableOutput(filename: 'my_log_name')]
class MyMessageHandler extends MyBaseMessageHandler
{
public function __invoke(MyMessage $myMessage): void
{
// ...
}
}
namespace App;
use Bizkit\LoggableCommandBundle\Command\LoggableCommand;
use Bizkit\LoggableCommandBundle\ConfigurationProvider\Attribute\LoggableOutput;
/**
* @LoggableOutput(filename="my_custom_name", type="rotating_file")
*/
class MyLoggableCommand extends LoggableCommand
{
protected function execute(InputInterface $input, OutputInterface $output): int
{
// ...
}
}
namespace App;
use Bizkit\LoggableCommandBundle\HandlerFactory\HandlerFactoryInterface;
class CustomHandlerFactory implements HandlerFactoryInterface
{
public function __invoke(array $handlerOptions): HandlerInterface
{
// configure & return a monolog handler
}
}
namespace App;
use Bizkit\LoggableCommandBundle\HandlerFactory\AbstractHandlerFactory;
use Monolog\Handler\HandlerInterface;
class CustomHandlerFactory extends AbstractHandlerFactory
{
protected function getHandler(array $handlerOptions): HandlerInterface
{
// return a monolog handler
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.