потому что компоненты работают так, что компонент не может видеть область действия "variables
" вне себя, а когда вы <cfinclude>
свой logging.cfm
, он включает эти функции в переменную область страницы. чтобы ваш компонент вызывал эти функции, вы можете сделать это:
<cfinclude template="logging.cfm">
<cfset request.logger = variables.logger>
и затем в вашем <cfcomponent>
вы можете позвонить request.logger(whatever)
.
Но, честно говоря, мне это кажется отсталым. Вместо этого, почему бы не Logger.cfc
, который содержит функцию с именем «log», а затем, когда вы хотите что-то записать, вы просто делаете:
<cfinvoke component="my.Logger" method="log" message="#mylogmessage#">