Using the cftrace tag to trace execution
401
You can use the
IsDebugMode
function to selectively log information only when debugging is
enabled. Because you control the log output, you have the flexibility of silently logging
information without displaying trace information in the browser. For example, the following code
logs the application page, the current time, and the values of two variables to the log file
MyAppSilentTrace.log when debugging is enabled:
<cfquery name="MyDBQuery" datasource="CompanyInfo">
SELECT *
FROM Employee
</cfquery>
<cfif IsDebugMode()>
<cflog file="MyAppSilentTrace" text="Page: #cgi.script_name#,
completed query MyDBQuery; Query Execution time:
#cfquery.ExecutionTime# Status: #Application.status#">
</cfif>
Tip:
If you use
cfdump
tags frequently for debugging, put them in
<cfif IsDebugMode()>
tags; for
example
<cfif IsDebugMode()><cfdump var=#myVar#></cfif>
. This way you ensure that if
you leave any
cfdump
tags in production code, they are not displayed when you disable debugging
output.
Using the cftrace tag to trace execution
The
cftrace
tag displays and logs debugging data about the state of your application at the time
the
cftrace
tag executes. You use it to provide “snapshots” of specific information as your
application runs.
About the cftrace tag
The
cftrace
tag provides the following information:
•
A severity identifier specified by the
cftrace
tag
type
attribute
•
A timestamp indicating when the
cftrace
tag executed
•
The time elapsed between the start of processing the request and when the current
cftrace
tag
executes.
•
The time between any previous
cftrace
tag in the request and the current one. If this is the
first
cftrace
tag processed for the request, the output indicates “1st trace”. ColdFusion does
not display this information in inline trace output, only the log and in the standard debugging
output.
•
The name of the page that called the
cftrace
tag
•
The line on the page where the
cftrace
call is located
•
A trace category specified by the
category
attribute
•
A message specified by the
text
attribute
•
The name and value, at the time the
cftrace
call executes, of a single variable specified by the
var
attribute
A typical
cftrace
tag might look like the following:
<cftrace category="UDF End" inline = "True" var = "MyStatus"
text = "GetRecords UDF call has completed">
You can display the
cftrace
tag output in either or both of the following ways:
•
As a section in the debugging output
To display the trace information in the debugging
output, in the Administrator, select Tracing Information on the Debugging Settings page.
Summary of Contents for ColdFusion MX
Page 1: ...Developing ColdFusion MX Applications...
Page 22: ...22 Contents...
Page 38: ......
Page 52: ...52 Chapter 2 Elements of CFML...
Page 162: ......
Page 218: ...218 Chapter 10 Writing and Calling User Defined Functions...
Page 250: ...250 Chapter 11 Building and Using ColdFusion Components...
Page 264: ...264 Chapter 12 Building Custom CFXAPI Tags...
Page 266: ......
Page 314: ...314 Chapter 14 Handling Errors...
Page 344: ...344 Chapter 15 Using Persistent Data and Locking...
Page 349: ...About user security 349...
Page 357: ...Security scenarios 357...
Page 370: ...370 Chapter 16 Securing Applications...
Page 388: ...388 Chapter 17 Developing Globalized Applications...
Page 408: ...408 Chapter 18 Debugging and Troubleshooting Applications...
Page 410: ......
Page 426: ...426 Chapter 19 Introduction to Databases and SQL...
Page 476: ...476 Chapter 22 Using Query of Queries...
Page 534: ...534 Chapter 24 Building a Search Interface...
Page 556: ...556 Chapter 25 Using Verity Search Expressions...
Page 558: ......
Page 582: ...582 Chapter 26 Retrieving and Formatting Data...
Page 668: ......
Page 734: ...734 Chapter 32 Using Web Services...
Page 760: ...760 Chapter 33 Integrating J2EE and Java Elements in CFML Applications...
Page 786: ...786 Chapter 34 Integrating COM and CORBA Objects in CFML Applications...
Page 788: ......