对于我正在处理的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对象已启动?