我在application.cfm中包含了一个日志记录函数(不能使用cflog),并且我的.cfm页面可以访问它,但是我使用的任何组件都会给我一个“变量日志记录器未定义”。错误。
application.cfm
<cfinclude template="logging.cfm">logging.cfm
<cffunction name="logger" >
...
</cffunction>知道我做错了什么吗?
发布于 2009-07-21 21:40:18
因为组件的工作方式是组件不能在其外部看到"variables“作用域,并且当您<cfinclude>您的logging.cfm时,它会将那些函数包含到页面的变量作用域中。为了让您的组件调用这些函数,您可以这样做:
<cfinclude template="logging.cfm">
<cfset request.logger = variables.logger>然后在你的<cfcomponent>中,你可以调用request.logger(whatever)。
但老实说,这对我来说是倒退的。相反,为什么不使用包含名为“Logger.cfc”的函数的日志,然后当您想要记录某些内容时,您只需执行以下操作:
<cfinvoke component="my.Logger" method="log" message="#mylogmessage#">https://stackoverflow.com/questions/1161620
复制相似问题