cftrace
Description
Displays and logs debugging data about the state of an application at the time the cftrace tag executes. Tracks run-time logic flow, variable values, and execution time. Displays output at the end of the request or in the debugging section at the end of the request; or, in Dreamweaver MX and later, in the Server Debug tab of the Results window.
Categories
Related
History
ColdFusion
MX: Added this tag.
Syntax
<cftrace
var = "variable name"
text = "string"
type = "format"
category = "string"
inline = "yes|no"
abort = "yes|no">
</cftrace>
Note: You can specify
this tag’s attributes in an attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.
Attributes
| Attribute | Description | Required | Default |
|---|---|---|---|
| abort | yes: calls a cfabort tag when the tag is executed. no | Optional | no |
| category | User-defined string that identifies trace groups. | Optional | |
| inline | yes: displays trace code inline on the page in the location of the cftrace tag, in addition to the debugging information output. no | Optional | no |
| text | User-defined string, which can include simple variables, but not complex variables such as arrays. Outputs to the cflogtext attribute. | Optional | |
| type | Corresponds to the cflogtype attribute; displays an appropriate icon: Information Warning Error Fatal Information | Optional | Information |
| var | The name of a simple or complex variable to display. Useful for displaying a temporary value, or a value that does not display on any CFM page. | Optional |
Usage
You cannot put application code within this tag. (This avoids problems that can occur if you disable debugging.)
This tag is useful for debugging CFML code during application development.
You can display cftrace tag output in the following ways:
As a section in the debugging output
Inline in an application page, and as a section in debugging output. If you specify inline tracing, ColdFusion flushes all output up to the cftrace tag, and displays the trace output when it encounters the tag.
The following is an example of a log file entry:
"Information","web-4","04/08/02","23:21:30", ,"[30 ms (1st trace)] [C:\CFusion\wwwroot\generic.cfm @ line: 9] - [thisPage = /generic.cfm]" "Information","web-0","04/08/02","23:58:58", ,"[5187 ms (10)] [C:\CFusion\wwwroot\generic.cfm @ line: 14] - [category] [thisPage = /generic.cfm] [ABORTED] thisPage " For a complex variable, ColdFusion lists the variable name and the number of elements in the object; it does not log the contents of the variable.
This tag is useful for debugging CFML code during application development.
You can display cftrace tag output in the following ways:
As a section in the debugging output
Inline in an application page, and as a section in debugging output. If you specify inline tracing, ColdFusion flushes all output up to the cftrace tag, and displays the trace output when it encounters the tag.
The following is an example of a log file entry:
"Information","web-4","04/08/02","23:21:30", ,"[30 ms (1st trace)] [C:\CFusion\wwwroot\generic.cfm @ line: 9] - [thisPage = /generic.cfm]" "Information","web-0","04/08/02","23:58:58", ,"[5187 ms (10)] [C:\CFusion\wwwroot\generic.cfm @ line: 14] - [category] [thisPage = /generic.cfm] [ABORTED] thisPage " For a complex variable, ColdFusion lists the variable name and the number of elements in the object; it does not log the contents of the variable.
Example
The
following example traces a FORM variable that is evaluated by a cfif block:
<cftrace var="FORM.variable"
text="doing equivalency check for FORM.variable"
category="form_vars"
inline="true">
<cfif isDefined("FORM.variable") AND #FORM.variable# EQ 1>
<h1>Congratulations, you're a winner!</h1>
<cfelse>
<h1>Sorry, you lost!</h1>
</cfif>