我正在实现一个日志记录解决方案,并且想要一种简单的方法来跟踪在同一请求中发生了哪些事件。日志记录功能将驻留在cfc中,并且可以从初始模板,包含的模板或以多种方式调用的另一个cfc中触发。尽管永远不要从子线程中调用它。我希望所有这些日志记录都附加到相同的请求ID。
这是一个“很不错”的条件,而不是必要条件,因此,如果我需要在onRequestStart中创建createUUID并确保已通过,则无需理会。但是,如果在一个或另一个作用域中隐藏了某些东西(在请求作用域中没有看到任何东西)提供了可以直接插入到我的插入语句中的功能,那么我认为这将是一个有价值的补充。
答案 0 :(得分:3)
只需在请求开始时在Application.cfc(或cfm)中创建一个UUID,以后再引用
<cffunction name="onRequestStart" output="no">
<cfset request.requestID = createUUID() />
</cffunction>
答案 1 :(得分:1)
您是否要提供“代码覆盖率”?在哪里可以跟踪到对functionX的更改将影响已知的顶级请求路径列表?
如果是这样,我认为您希望它记录每个请求的堆栈跟踪。其中包含所有CFC和CFM文件的完整堆栈,哪一行代码调用什么函数,以及将什么值传递给每个函数参数。我以前的老板在公司内部建了东西来处理这个问题。我们必须移至后端的MongoDB来处理收集的数据量。
您可能还会研究Fusion Reactor(分析),以帮助您了解代码请求的最新情况。