BlueDragon Blog
Here you'll find tips and information about making the most of BlueDragon, which offers several compelling implementation alternatives for your CFML applications. This blog was created originally by Charlie Arehart, who was New Atlanta CTO from 2003-2006.,He has since moved on to become an independent consultant but continues to answer comments raised in existing blog entries. BlueDragon continues, and you should look to the newer BlueDragon blog, from New Atlanta president, Vince Bonfanti, for more updated information.

BlueDragon Advantage: Complete Error Pages Are Logged

posted Wednesday, 22 December 2004

BlueDragon helps with a nagging problem of resolving errors. If you've not otherwise trapped errors (with site-wide error handling, CFERROR, or CFTRY), you know that a page full of information is written to the screen (in both BD and CF). In BlueDragon, though, that entire page of error info--including the dump of variable scopes at the time of the error--is written to a log directory as an HTML page. This is great for doing post-mortem analysis.

Of course, error handling is always more effective, but what if you're dealing with old code, or simply haven't add it yet, or have some other challenge)? When the user gets an error, if they don't print it out or send it to you, you have little to go on.

You may know that in CF, a single line is written to the application.log file indicating the error and a few other tidbits (date/time, threadID, appname, error message). But what about all the other context? Like the query string, or form variables, or session variables in play at the time?

Again, BlueDragon writes not just a single line but the entire page of the error to a log file. Yep, every runtime server or internal server error that shows on the screen to a user is written to a log file. (You can control whether this happens by an Admin console setting.)

This has been a feature of BlueDragon for a couple of years, so is in the 6.1 and upcoming 6.2 release.

For BlueDragon Server and Server JX, the directory name would be something like in C:\BlueDragon_Server_61\work\temp\rtelogs. The Rtelogs refers to "run time error logs".

Since the J2EE edition of BlueDragon involves deploying CFML in a J2EE web app, the error logs are found in the web application's \WEB-INF\bluedragon\work\temp\rtelogs directory.

The location in the .NET edition varies depending on how you have installed the product. Look for a coming technote or the .NET edition's documentation for more details.




1. a reader left...
Friday, 24 December 2004 2:42 pm

Is there a way to both catch the error with CFERROR *and* also have the error saved to the rtelogs folder?

jeff robertson [jeff.robertson@digitalinsight.com]


2. Charlie Arehart left...
Sunday, 26 December 2004 12:28 am

No, Jeff. With respect to this, it's just like CF. If you trap the error, no error log is written (because no error is created). Of course, if you catch the error and then use CFRETHROW, then the log is written (and of course, the user sees the error screen), unless you trap the error at some higher level.


3. a reader left...
Wednesday, 9 March 2005 3:02 pm

Our cferror pages for request and exception errors feature an email to us to let us know a user has encountered an error.

Is there any way to discern the BD error log file name and attach that to the email we're getting? Is there an error scope attribute that BD generates that contains the generated error file name?

Craig Heath [craig@performancematters.net]


4. Charlie Arehart left...
Wednesday, 9 March 2005 4:59 pm

Yes, Craig, I'm glad to be able to announce that in the final 6.2 release we have introduced both a new errorlogfile variable in the error/cferror/cfcatch scopes, and an option that lets you decide whether to still write the logfile (as in this case you want to) when an error is handled. By default, both CF and BD don't write any error logfile info if you catch/handle the error.


5. a reader left...
Thursday, 10 March 2005 10:17 am

Good news. We're running the 6.2 RC on our development server these days. Is the tag attribute in the release candidate and if so...can I get some hint goodness as to how to find it? It isn't mentioned in the docs for the RC that I can see.

Much appreciated in advance.

Craig Heath [craig@performancematters.net]


6. Charlie Arehart left...
Thursday, 10 March 2005 11:04 am

No, sorry Craig. It's not in the RC. That's why I said "in the final 6.2 release". I suppose I should have added "(not in the RC)" to be really clear. So it's coming. We listen. :-)


7. Earl R. Thurston left...
Friday, 16 February 2007 3:33 pm

Our company is running 6.2.1 and I've tried using #Error.ErrorLogFile# in a custom error template, but the variable doesn't convert over (others, like #Error.Diagnostics#, do work however).