Last active
January 19, 2024 08:52
-
-
Save stevewithington/5396717 to your computer and use it in GitHub Desktop.
Mura Error Handling: You could use any or even both of the attached methods to help with error handling in Mura CMS. This works better than the default "We're sorry, an error has occurred. Please try again later."
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!--- | |
1) Drop this file under /config/ directory. | |
2) Add errortemplate=/muraWRM/config/customErrorFile.cfm to the settings.ini.cfm file. | |
3) Set debuggingenabled=false in the settings.ini.cfm file. | |
4) Reload Mura CMS | |
---> | |
<cftry> | |
<cfset msg = 'MURA ERROR - MESSAGE: #arguments.exception.Message# DETAIL: #arguments.exception.Detail# ' /> | |
<cflog type="ERROR" file="MuraError" text="#msg#" /> | |
<cfcatch></cfcatch> | |
</cftry> | |
<cfparam name="url.debug" default="false" /> | |
<cfoutput> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Site Down For Maintenance</title> | |
</head> | |
<body> | |
<h3>Site Down for Maintenance</h3> | |
<cfif url.debug> | |
<cfdump var="#arguments#" /> | |
<!--- You Have Access to arguments.eventName and aguments.exception ---> | |
<!--- | |
<h4>Exception Message</h4> | |
<p>#arguments.exception.message#</p> | |
<h4>Exception Detail</h4> | |
<p>#arguments.exception.detail#</p> | |
<h4>TagContext[1]</h4> | |
<cfdump var="#arguments.exception.TagContext[1]#" /> | |
---> | |
<!--- you could also dump whatever else you want to inspect ---> | |
<!--- | |
<cfdump var="#cgi#" label="CGI" /> | |
<cfdump var="#request#" label="REQUEST" /> | |
<cfdump var="#session#" label="SESSION" /> | |
<cfdump var="#application#" label="APPLICATION" /> | |
---> | |
<cfelse> | |
<p>This site is temporarily down for maintenance.</p> | |
</cfif> | |
</body> | |
</html> | |
</cfoutput> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<cfscript> | |
// drop this method in either the Site or Theme eventHandler.cfc | |
public any function onGlobalError($) { | |
var tagContext = ''; | |
var local = {}; | |
param name='url.debug' default=false; | |
local.ex = arguments.$.event('exception'); | |
local.errorMessage = 'GLOBAL ERROR - MESSAGE: #local.ex.Message# DETAIL: #local.ex.Detail# '; | |
try { | |
tagContext = local.ex.TagContext[1]; | |
} catch(any e) {}; | |
if ( IsStruct(tagContext) ) { | |
local.errorMessage = local.errorMessage & ' | |
LINE: #tagContext.LINE# | |
TEMPLATE: #tagContext.TEMPLATE# | |
RAW_TRACE: #tagContext.RAW_TRACE#'; | |
} | |
WriteLog(type='ERROR', file='muraGlobalError', text='#local.errorMessage#'); | |
if ( url.debug ) { | |
WriteOutput('<h2>Debug Output</h2>' & local.errorMessage); | |
WriteDump(var=arguments, label='ARGUMENTS', abort=1); | |
} | |
} | |
</cfscript> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment