Как регистрировать информацию изнутри ‹CFScript›

Я учусь использовать <cfscript>.

Можно ли каким-то образом регистрировать некоторые сообщения или значения внутри ‹cfscript>?

например, снаружи <cfscript>, я могу использовать <cflog>, есть ли какой-нибудь способ или пометить что-то подобное, я могу использовать для печати сообщений в файле журнала внутри >

Спасибо


person CFUser    schedule 10.02.2010    source источник
comment
Вторя комментарию Терри Райана, CF9 имеет гораздо более полную реализацию cfscript.   -  person kevink    schedule 10.02.2010
comment
Осторожный! реализация Open Blue Dragon ColdFusion не предлагает cfscript, поэтому, если вы используете его, вы привязаны к Adobe.   -  person O. Jones    schedule 16.02.2010
comment
@ Олли Джонс, нет, это не так. Он может использовать Railo, у которого есть полная поддержка CFC.   -  person Mohamad    schedule 26.07.2011
comment
@OllieJones: да, это так. Только что проверил на OpenBD 3.0   -  person Adam Cameron    schedule 04.04.2013
comment
@CFUser, учитывая, что вы получаете разные ответы для разных движков CFML, может помочь, если вы пометите это правильным движком / версией?   -  person Adam Cameron    schedule 04.04.2013


Ответы (3)


В ColdFusion 9 добавлена ​​функция «writeLog», которая позволяет вам это делать. http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WS48D04B65-0694-44e9-9E35-F9D7C9152B6C.html

person Terry Ryan    schedule 10.02.2010
comment
Знал, что видел что-то в CF9... обычно не мог этого увидеть, когда смотрел. Спасибо за напоминание, Терри. - person Stephen Moretti; 11.02.2010

В Lucee/Railo вы можете использовать cflog в сценарии, удалив угловые скобки и префикс «cf», чтобы вы могли написать

<cfscript>
  log text="some text" file="logfilename" type="information";
</cfscript>

это эквивалентно

<cflog text="some text" file="logfilename" type="information">
person isapir    schedule 03.04.2013

К сожалению, в версиях ColdFusion до CF9 его нет. Однако вы можете сопоставить UDF с cflog:

<cffunction name="doCFLog">
   <cflog attributeCollection="#arguments#">
</cffunction>

внутри вашего cfscript вызовите функцию doCFLog с теми же атрибутами, что и cflog

например. doCFLog(text='sometext', type='warning',application='yes', file='mylog');

Примечание: не рекомендуется называть ваши методы/udf и т. д. тем же именем, что и существующая функция или тег, следовательно, не вызывать функцию «cflog» или «log».

person Stephen Moretti    schedule 10.02.2010
comment
Разве это не должно быть: ‹cflog attributeCollection=#arguments#›? - person jrduncans; 30.11.2010
comment
У меня это не сработало без использования # в ColdFusion 8. Я не уверен, когда/почему требуется этот формат, но, надеюсь, это поможет кому-то еще, если у них возникнет проблема, с которой столкнулся я... - person jrduncans; 03.12.2010
comment
Да, кавычки необязательны, но знаки решетки обязательны (все версии ColdFusion и по крайней мере Railo 4.1 и OpenBD 3.0). Я изменил код выше соответственно. - person Adam Cameron; 04.04.2013