ColdFusion provides extensive capabilities for generating, managing, and viewing log files, as described in Configuring and Administering ColdFusion. It also provides the cflog tag which adds entries to ColdFusion logs.
ColdFusion automatically logs errors to the default logs if you use the default error handlers. In all other cases, you must use the cflog tag in your error handling code to generate log entries.
The cflog tag lets you specify the following information:
For example, you could use a cflog tag in an exception error-handling page to log the error information to an application-specific log file, as in the following page:
<html> <head> <title>Products - Error</title> </head> <body> <h2>Sorry</h2> <p>An error occurred when you requested this page. The error has been logged and we will work to correct the problem. We apologize for the inconvenience. </p> <cflog type="Error" file="myapp_errors" text="Exception error -- Exception type: #error.type# Template: #error.template#, Remote Address: #error.remoteAddress#, HTTP Reference: #error.HTTPReferer# Diagnostics: #error.diagnostics#"> </body> </html>
The following table describes the highlighted code and its function:
Code |
Description |
---|---|
<cflog type="Error" file="myapp_errors" text="Exception error Exception type: #Error.type# Template: #Error.template#, Remote Address: #Error.remoteAddress#, HTTP Reference: #error.HTTPReferer# Diagnostics: #Error.diagnostics#"> |
When this page is processed, log an entry in the file myapp_errors.log file in the ColdFusion log directory. Identify the entry as an error message and include an error message that includes the exception type, the path of the page that caused the error, the remote address that called the page, and the error's diagnostic message. |
A log file entry similar to the following is generated if you try to call a nonexistent custom tag and this page catches the error (line breaks added for clarity):
"Error","web-13","12/19/01","11:29:07",MYAPP,"Exception error -- Exception type: coldfusion.runtime.CfErrorWrapper Template: /MYStuff/MyDocs/exceptiontest.cfm, Remote Address: 127.0.0.1, HTTP Reference: Diagnostics: Cannot find CFML template for custom tag testCase. Cannot find CFML template for custom tag testCase. ColdFusion attempted looking in the tree of installed custom tags but did not find a custom tag with this name."
The text consists of a comma-delimited list of the following entries: