Symfony3:在Monolog处理器中获取会话ID

时间:2017-02-10 14:47:23

标签: php session symfony monolog

对于我正在处理的Symfony 3.2项目,我想为属于特定请求的所有日志条目添加唯一标记。 Symfony文档碰巧有一个使用处理器(http://symfony.com/doc/current/logging/processors.html)的用例的确切示例。这样做是基于用户会话ID的前8个字符和随机生成的UUID的最后8​​个字符向日志记录添加唯一令牌。正是我正在寻找的东西。

但是,在检查日志时,令牌的第一部分(基于会话ID(Sub SumGroups() Worksheets("Database").Activate Dim lastCode, lastFiltCode As Integer Dim Formula As String 'Determine Last Row in Column O (Unfiltered Codes) lastCode = Range("O" & Rows.Count).End(xlUp).Row 'Filter Unique Codes into Column A Sheet2 Range("O1:O" & lastCode).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Sheet2.Range("A1"), Unique:=True 'Determine last Row in Column A (Filtered Codes) Worksheets("Sheet2").Activate lastFiltCode = Sheet2.Range("A" & Rows.Count).End(xlUp).Row 'Place SUMIF Formula in Column B Sheet2 Worksheets("Sheet2").Range("B2:B" & lastFiltCode).Formula = _ "=SUMIFS(Database!$M$2:$M$ & lastCode,Database!$O$2:$O$ & lastCode,A2)" End Sub ))为空。这是因为注入的Session对象尚未启动。它应该是,因为我记录的请求是仅可通过有效身份验证访问的页面。我的猜测是,处理器在会话开始之前运行。我觉得如果$this->session->getId()返回false,那么在Processor类中启动会话是一个肮脏的解决方案,不是可行的方法(但是,它可以完成工作)。

如何在Monolog处理器将令牌添加到日志记录之前确定Session对象已启动?

0 个答案:

没有答案