2009-07-21 8 views
1

私はapplication.cfmに含まれるロギング機能(cflogは使用できません)を持っています。私の.cfmページはこれにアクセスできますが、私が使用するコンポーネントはすべて「変数LOGGERは未定義です。エラー。なぜ私のcoldfusion cfcはapplication.cfmに含まれているudfにアクセスできませんか?

のApplication.cfm

<cfinclude template="logging.cfm"> 

logging.cfm

<cffunction name="logger" > 
... 
</cffunction> 

私が間違ってやっているものになど任意のアイデア?

答えて

10

ウェイコンポーネントが機能するのは、コンポーネントがそれ以外の「variables」スコープを見ることができず、<cfinclude>logging.cfmの場合、それらの関数がページの可変スコープに含まれているためです。これらの機能を呼び出すためにあなたのコンポーネントのために、あなたがこれを行う可能性があります:あなたの<cfcomponent>

<cfinclude template="logging.cfm"> 

<cfset request.logger = variables.logger> 

、その後を、あなたはrequest.logger(whatever)を呼び出すことができます。

しかし正直なところ、これは私には後ろ向きに感じています。代わりに、なぜ「ログイン」という名前の関数が含まれており、その後、あなたが何かを記録したい場合、あなただけ行うLogger.cfc:明らかだが、

<cfinvoke component="my.Logger" method="log" message="#mylogmessage#"> 
+0

感謝はい、あなたの答えの最後の部分はされているようです逃した – blank

+0

私は欠けている部分を見えるようにしました。答えに+1。 – Tomalak

関連する問題