@@ -18,31 +18,31 @@ using a processor.
1818
1919..code-block ::php
2020
21- namespace AppBundle;
21+ namespace AppBundle\Logger ;
2222
23- use Symfony\Component\HttpFoundation\Session\Session ;
23+ use Symfony\Component\HttpFoundation\Session\SessionInterface ;
2424
2525 class SessionRequestProcessor
2626 {
2727 private $session;
28- private $token ;
28+ private $sessionId ;
2929
30- public function __construct(Session $session)
30+ public function __construct(SessionInterface $session)
3131 {
3232 $this->session = $session;
3333 }
3434
3535 public function processRecord(array $record)
3636 {
37- if (null === $this->token) {
38- try {
39- $this->token = substr($this->session->getId(), 0, 8);
40- } catch (\RuntimeException $e) {
41- $this->token = '????????';
42- }
43- $this->token .= '-' . substr(uniqid(), -8);
37+ if (!$this->session->isStarted()) {
38+ return $record;
4439 }
45- $record['extra']['token'] = $this->token;
40+
41+ if (!$this->sessionId) {
42+ $this->sessionId = substr($this->session->getId(), 0, 8) ?: '????????';
43+ }
44+
45+ $record['extra']['token'] = $this->sessionId.'-'.substr(uniqid('', true), -8);
4646
4747 return $record;
4848 }
@@ -59,8 +59,8 @@ using a processor.
5959arguments :
6060 -" [%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%\n "
6161
62- monolog.processor.session_request :
63- class :AppBundle\SessionRequestProcessor
62+ app.logger.session_request_processor :
63+ class :AppBundle\Logger\ SessionRequestProcessor
6464arguments :['@session']
6565tags :
6666 -{ name: monolog.processor, method: processRecord }
@@ -71,7 +71,7 @@ using a processor.
7171type :stream
7272path :' %kernel.logs_dir%/%kernel.environment%.log'
7373level :debug
74- formatter :monolog.formatter.session_request
74+ formatter :app.logger.session_request_processor
7575
7676 ..code-block ::xml
7777
@@ -92,8 +92,8 @@ using a processor.
9292 <argument >[%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%
 </argument >
9393 </service >
9494
95- <service id =" monolog.processor.session_request "
96- class =" AppBundle\SessionRequestProcessor" >
95+ <service id =" app.logger.session_request_processor "
96+ class =" AppBundle\Logger\ SessionRequestProcessor" >
9797
9898 <argument type =" service" id =" session" />
9999 <tag name =" monolog.processor" method =" processRecord" />
@@ -106,23 +106,23 @@ using a processor.
106106type =" stream"
107107path =" %kernel.logs_dir%/%kernel.environment%.log"
108108level =" debug"
109- formatter =" monolog.formatter.session_request "
109+ formatter =" app.logger.session_request_processor "
110110 />
111111 </monolog : config >
112112 </container >
113113
114114 ..code-block ::php
115115
116116 // app/config/config.php
117- use AppBundle\SessionRequestProcessor;
117+ use AppBundle\Logger\ SessionRequestProcessor;
118118 use Monolog\Formatter\LineFormatter;
119119
120120 $container
121121 ->register('monolog.formatter.session_request', LineFormatter::class)
122122 ->addArgument('[%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%\n');
123123
124124 $container
125- ->register('monolog.processor.session_request ', SessionRequestProcessor::class)
125+ ->register('app.logger.session_request_processor ', SessionRequestProcessor::class)
126126 ->addArgument(new Reference('session'))
127127 ->addTag('monolog.processor', array('method' => 'processRecord'));
128128
@@ -132,7 +132,7 @@ using a processor.
132132 'type' => 'stream',
133133 'path' => '%kernel.logs_dir%/%kernel.environment%.log',
134134 'level' => 'debug',
135- 'formatter' => 'monolog.formatter.session_request ',
135+ 'formatter' => 'app.logger.session_request_processor ',
136136 ),
137137 ),
138138 ));
@@ -155,8 +155,8 @@ the ``monolog.processor`` tag:
155155
156156# app/config/config.yml
157157services :
158- monolog.processor.session_request :
159- class :AppBundle\SessionRequestProcessor
158+ app.logger.session_request_processor :
159+ class :AppBundle\Logger\ SessionRequestProcessor
160160arguments :['@session']
161161tags :
162162 -{ name: monolog.processor, method: processRecord, handler: main }
@@ -174,8 +174,8 @@ the ``monolog.processor`` tag:
174174 http://symfony.com/schema/dic/monolog/monolog-1.0.xsd" >
175175
176176 <services >
177- <service id =" monolog.processor.session_request "
178- class =" AppBundle\SessionRequestProcessor" >
177+ <service id =" app.logger.session_request_processor
178+ class=" AppBundle\Logger\ SessionRequestProcessor" >
179179
180180 <argument type=" service" id=" session" />
181181 <tag name=" monolog.processor" method=" processRecord" handler=" main" />
@@ -190,7 +190,7 @@ the ``monolog.processor`` tag:
190190 // ...
191191 $container
192192 ->register(
193- 'monolog.processor.session_request ',
193+ 'app.logger.session_request_processor ',
194194 SessionRequestProcessor::class
195195 )
196196 ->addArgument(new Reference('session'))
@@ -208,8 +208,8 @@ the ``monolog.processor`` tag:
208208
209209 # app/config/config.yml
210210 services:
211- monolog.processor.session_request :
212- class :AppBundle\SessionRequestProcessor
211+ app.logger.session_request_processor :
212+ class: AppBundle\Logger\ SessionRequestProcessor
213213 arguments: ['@session']
214214 tags:
215215 - { name: monolog.processor, method: processRecord, channel: main }
@@ -227,8 +227,8 @@ the ``monolog.processor`` tag:
227227 http://symfony.com/schema/dic/monolog/monolog-1.0.xsd" >
228228
229229 <services>
230- <service id =" monolog.processor.session_request "
231- class =" AppBundle\SessionRequestProcessor" >
230+ <service id=" app.logger.session_request_processor "
231+ class=" AppBundle\Logger\ SessionRequestProcessor" >
232232
233233 <argument type=" service" id=" session" />
234234 <tag name=" monolog.processor" method=" processRecord" channel=" main" />
@@ -242,6 +242,6 @@ the ``monolog.processor`` tag:
242242
243243 // ...
244244 $container
245- ->register('monolog.processor.session_request ', SessionRequestProcessor::class)
245+ ->register('app.logger.session_request_processor ', SessionRequestProcessor::class)
246246 ->addArgument(new Reference('session'))
247247 ->addTag('monolog.processor', array('method' => 'processRecord', 'channel' => 'main'));