Проблема регистрации Coldfusion - PullRequest
1 голос
/ 02 октября 2009

У меня есть ошибка, которая время от времени появляется в моем файле журнала приложения.

"Error","jrpp-2297","09/30/09","07:40:07","appname","Invalid data  for CFSQLTYPE CF_SQL_BIGINT. The specific sequence of files included or processed is: E:\inetpub\wwwroot\a\viewReport.cfm, line: 56 "

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

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 октября 2009

Если вы хотите сделать более длительный просмотр данных для этой формы, вы можете использовать cfdump с некоторыми необязательными параметрами, чтобы следить за вещами:

<cfdump output="fullpathtoyourdumpfile" format="html" var="#FORM#">

Если вам нужен обычный текстовый дамп вместо обычного модного HTML:

<cfdump output="fullpathtoyourdumpfile" format="text" var="#FORM#">

Файл fullpathtyourdumpfile должен содержать полный путь (включая букву диска, если в качестве платформы CF используется Windows) к файлу, включая имя файла. Примеры:

C:\tmp\myapplog.html
c:\tmp\myapplog.txt
/tmp/myapplog.html
/tmp/myapplog.txt

Используйте .txt для дампов простого текста и .html для версии HTML. Если вы используете версию HTML, вы сможете использовать удаленный поиск файлов или смонтировать каталог для просмотра содержимого.

Кроме того, вам необходимо убедиться, что каждый из перечисленных каталогов существует и доступен для чтения и записи пользователю, работающему в ColdFusion.

UPDATE

Для CFMX7 попробуйте этот обходной путь:

<cfloop list="#FORM.FIELDNAMES#" index="key">

<cfoutput>#key# ----> #evaluate(key)#<br/></cfoutput>

</cfloop>
0 голосов
/ 06 ноября 2009

Если вы получаете ошибку с такой периодичностью, что вы не можете ее вызвать, вы можете записать содержимое cfdump в переменную и затем записать полный html-файл дампа. Затем вы можете получить содержимое строки журнала и поместить его в статический html-файл и просмотреть объект cfcatch, как он был бы представлен, если бы вы были тем, кто сгенерировал ошибку.

Для этого вам нужно использовать cfsavecontent.

<cfsavecontent variable="dumpoutput">
 <cfdump var="#cfcatch#" />
</cfsavecontent>
<cflog file="cfcatchdumps" text="#dumpoutput#" />

После этого вы терпеливо ждете следующую ошибку, а затем извлекаете содержимое одной строки из файла журнала (это будет длинная строка, но она не имеет возврата каретки, так что это довольно просто ), вставьте его в HTML-файл и просмотрите его. Это даст вам некоторое представление о том, в чем заключалась ошибка, со всеми деталями контекста тега и трассировкой стека.

Предостережение: это приведет к генерации большого количества данных в файл журнала, возможно, до 20-40 КБ на ошибку, это не имеет большого значения в среде разработки и, вероятно, стоит того, чтобы понять, что происходит очень периодически производство, но это, конечно, не то, что я бы оставил где-нибудь для долгосрочного использования. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...