Skip to content

Commit

Permalink
added middlewares processors
Browse files Browse the repository at this point in the history
  • Loading branch information
Joao Jacome committed Sep 20, 2018
1 parent aac914a commit 021b7ba
Show file tree
Hide file tree
Showing 9 changed files with 56 additions and 23 deletions.
6 changes: 6 additions & 0 deletions DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ public function getConfigTreeBuilder()
->defaultFalse()
->treatNullLike(false)
->end()
->arrayNode('middlewares')
->info('List of middlewares to use')
->prototype('scalar')
->end()
->treatNullLike([])
->end()
->booleanNode('enable_request_id')
->info('Add a request identifier to all log entries. Allows for easier tracking of logs during a request')
->defaultTrue()
Expand Down
1 change: 1 addition & 0 deletions DependencyInjection/OnelogExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public function load(array $configs, ContainerBuilder $container)

$container->setParameter('onelog.logger_service', $config['logger_service']);
$container->setParameter('onelog.register_global', $config['register_global']);
$container->setParameter('onelog.middlewares', $config['middlewares']);
$container->setParameter('onelog.register_monolog_channels', $config['register_monolog_channels']);
$container->setParameter('onelog.enable_request_id', $config['enable_request_id']);
}
Expand Down
6 changes: 0 additions & 6 deletions Middleware/ContextProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,6 @@ public function process($level, $message, $context): array
$context = array_merge($context, $message->getContext());
}

if ($message instanceof \Throwable) {
$context = array_merge($context, [
'code' => $message->getCode(),
]);
}

return [$message, $context];
}
}
29 changes: 29 additions & 0 deletions Middleware/SimpleMessageProcessor.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php declare(strict_types=1);

namespace KoderHut\OnelogBundle\Middleware;

use KoderHut\OnelogBundle\ContextualInterface;

/**
* Class SimpleMessageProcessor
*
* @author Joao Jacome <[email protected]>
*/
class SimpleMessageProcessor implements MiddlewareInterface
{
/**
* @param string $level
* @param mixed $message
* @param array $context
*
* @return array
*/
public function process($level, $message, $context): array
{
if ($message instanceof \Throwable) {
$message = $message->getMessage();
}

return [$message, $context];
}
}
4 changes: 2 additions & 2 deletions Middleware/StackTraceProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
namespace KoderHut\OnelogBundle\Middleware;

use KoderHut\OnelogBundle\ContextualInterface;
use KoderHut\OnelogBundle\MiddlewareProcessor;

/**
* Class StackTraceProcessor
*
* @author Joao Jacome <[email protected]>
*/
class StackTraceProcessor implements MiddlewareInterface
{
{
/**
* @param string $level
* @param mixed $message
Expand All @@ -24,7 +25,6 @@ public function process($level, $message, $context): array
$context = array_merge($context, [
'stack_trace' => $message->getTraceAsString(),
]);
$message = $message->getMessage();
}

return [$message, $context];
Expand Down
6 changes: 3 additions & 3 deletions MiddlewareProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace KoderHut\OnelogBundle;

use KoderHut\OneLogBundle\Middleware\MiddlewareInterface;
use KoderHut\OnelogBundle\Middleware\MiddlewareInterface;

/**
* Class MiddlewareProcessor
Expand All @@ -19,7 +19,7 @@ class MiddlewareProcessor implements MiddlewareInterface
/**
* @param MiddlewareInterface $middleware
*/
private function registerMiddleware(MiddlewareInterface $middleware)
public function registerMiddleware(MiddlewareInterface $middleware)
{
$this->middlewares[] = $middleware;
}
Expand All @@ -31,7 +31,7 @@ private function registerMiddleware(MiddlewareInterface $middleware)
*
* @return array
*/
public function process(string $level, $message, $context): array
public function process($level, $message, $context): array
{
foreach ($this->middlewares as $middleware) {
[$message, $context] = $middleware->process($level, $message, $context);
Expand Down
6 changes: 6 additions & 0 deletions OnelogBundle.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ public function boot()
OneLogStatic::setInstance($onelogService);
GlobalNamespaceRegister::register('\\OneLog', OneLogStatic::class);
}

if (null !== ($middlewares = $this->container->getParameter('onelog.middlewares'))) {
foreach ($middlewares as $middleware) {
$this->container->get(MiddlewareProcessor::class)->registerMiddleware($this->container->get($middleware));
}
}
}

public function build(ContainerBuilder $container)
Expand Down
19 changes: 7 additions & 12 deletions Resources/config/onelog.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,22 @@
>

<services>

<service id="KoderHut\OnelogBundle\MiddlewareProcessor" class="KoderHut\OnelogBundle\MiddlewareProcessor" public="true" lazy="true" />

<service id="KoderHut\OnelogBundle\OneLog" class="KoderHut\OnelogBundle\OneLog" public="true" lazy="true">
<argument type="service">
<service class="KoderHut\OnelogBundle\MiddlewareProcessor" public="false" />
</argument>
<argument type="service" id="KoderHut\OnelogBundle\MiddlewareProcessor" />
<argument type="service">
<service class="KoderHut\OnelogBundle\Helper\NullLogger" public="false" />
</argument>
</service>

<service id="KoderHut\OnelogBundle\Middleware\ContextProcessor" class="KoderHut\OnelogBundle\Middleware\ContextProcessor" public="true" lazy="true">
</service>
<service id="KoderHut\OnelogBundle\Middleware\ContextProcessor" class="KoderHut\OnelogBundle\Middleware\ContextProcessor" public="true" lazy="true" />

<service id="KoderHut\OnelogBundle\Middleware\StackTraceProcessor" class="KoderHut\OnelogBundle\Middleware\StackTraceProcessor" public="true" lazy="true">
</service>
<service id="KoderHut\OnelogBundle\Middleware\StackTraceProcessor" class="KoderHut\OnelogBundle\Middleware\StackTraceProcessor" public="true" lazy="true" />

<service id="KoderHut\OnelogBundle\Middleware\ExceptionCodeProcessor" class="KoderHut\OnelogBundle\Middleware\ExceptionCodeProcessor" public="true" lazy="true">
</service>
<service id="KoderHut\OnelogBundle\Middleware\ExceptionCodeProcessor" class="KoderHut\OnelogBundle\Middleware\ExceptionCodeProcessor" public="true" lazy="true" />

<service id="KoderHut\OnelogBundle\MiddlewareProcessor" class="KoderHut\OnelogBundle\MiddlewareProcessor" public="true" lazy="true">
</service>
<service id="KoderHut\OnelogBundle\Middleware\SimpleMessageProcessor" class="KoderHut\OnelogBundle\Middleware\SimpleMessageProcessor" public="true" lazy="true" />

<service id="KoderHut\OnelogBundle\Monolog\RequestIdProcessor" class="KoderHut\OnelogBundle\Monolog\RequestIdProcessor" public="false">
<tag name="monolog.processor" />
Expand Down
2 changes: 2 additions & 0 deletions Tests/DependencyInjection/ConfigurationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ public function optionsProvider()
'register_global' => true,
'register_monolog_channels' => false,
'enable_request_id' => true,
'middlewares' => [],
],
],
'default_configs' => [
Expand All @@ -53,6 +54,7 @@ public function optionsProvider()
'register_global' => false,
'register_monolog_channels' => false,
'enable_request_id' => true,
'middlewares' => [],
],
],
];
Expand Down

0 comments on commit 021b7ba

Please sign in to comment.