Как я могу зарегистрировать * все * используемые сценарии ColdFusion и CFC? - PullRequest
1 голос
/ 15 декабря 2008

Я хочу определить из большой базы кода, какие файлы фактически используются в течение определенного периода времени. Мне нужно знать о страницах CFM и CFC, а также о любых прилагаемых файлах CFM и т. Д.

Я знаю, что могу получить некоторую этой информации, войдя в application.cfm или используя IIS, но мне все равно будут отсутствовать любые включаемые файлы и все используемые CFC.

Есть ли способ заставить CF регистрировать каждый исполняемый файл? В идеале я хотел бы свести любую новую кодировку к минимуму или просто в одном месте.

Спасибо, Ciarán

Ответы [ 2 ]

4 голосов
/ 16 декабря 2008

Хммм, я думаю, вам нужно включить отладку и создать собственный шаблон отладки.

Шаблоны отладки находятся в: [coldfusiondir] / wwwroot / WEB-INF / debug

Посмотрите на код, который classic.cfm использует для отображения шаблонов на экране, а затем создайте некоторый аналогичный код, который регистрирует каждый запуск шаблона в подходящем хранилище данных.

Примечание. Существует проблема с производительностью (в CFMX6 / 7) с временами выполнения отчетов и CFC, поэтому убедитесь, что этот параметр отключен и все связанные с ним коды удалены.

Infact, если это будет работать в среде Live (не идеально), то убедитесь, что вы сократили свой пользовательский шаблон до минимально необходимого кода для выполнения только этой регистрации.

0 голосов
/ 20 декабря 2008

Подход с использованием шаблонов отладки будет работать, но будет работать, только если у вас включена отладка. Если база кода большая и громоздкая, и единственное место, где вам нужно собирать эту информацию, это оперативный режим, убедитесь, что эти шаблоны ничего не выводят.

Кроме того, ваши вызовы CFC немного замедляются. Будьте очень осторожны, чтобы увидеть, как это разрушает ваши серверы.

Лично я бы просто обновил структуру уровня сервера, указав только имя файла.

<cfparam name="server.st_FileLog" default="#structNew()#">
<cfparam name="server.st_FileLog[thisFile]" default="1">

Эти две строки в Application.cfc или Application.cfm могут просто сделать это.

Тогда просто есть отдельный кусок кода, который выводит код.

<cfoutput><code>#structKeyList(server.st_FileLog,chr(13))#</code></cfoutput>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...