Logging 通过电子邮件发送来自Coldfusion管理员的错误报告

Logging 通过电子邮件发送来自Coldfusion管理员的错误报告,logging,coldfusion,Logging,Coldfusion,我们运行的应用程序没有很好的错误电子邮件通知,但它们最终会出现在Coldfusion的application.log中。Coldfusion是否有办法在该文件发生更改时发送电子邮件,而这不仅仅是会话轮换或其他信息级别的日志条目错误 这不是解决方案,但它可能会让你朝着正确的方向前进。我还没有在CF上工作,查看错误日志文件和发送电子邮件-您可能希望设置一个计划任务来检查它。但我要说的是,500类型的服务器错误是我的眼中钉,因为IIS不想将错误传递给CF来处理。这是我用来打开错误日志的页面,找到底部并

我们运行的应用程序没有很好的错误电子邮件通知,但它们最终会出现在Coldfusion的application.log中。Coldfusion是否有办法在该文件发生更改时发送电子邮件,而这不仅仅是会话轮换或其他信息级别的日志条目错误

这不是解决方案,但它可能会让你朝着正确的方向前进。我还没有在CF上工作,查看错误日志文件和发送电子邮件-您可能希望设置一个计划任务来检查它。但我要说的是,500类型的服务器错误是我的眼中钉,因为IIS不想将错误传递给CF来处理。这是我用来打开错误日志的页面,找到底部并向后显示500个类型错误。它不是非常健壮,但它确实让我回顾了过去没有得到通知的错误:

<cffile action="read" variable="exceptionLog" file="C:\ColdFusion10\cfusion\logs\exception.log">
<cfparam name="form.goBack" default="0">
<cfparam name="form.showHowMany" default="10">
<cfif structKeyExists(url,"goback") and  structKeyExists(url,"showHowMany")>
    <cfset form.goBack=url.goback>
    <cfset form.showHowMany=url.showHowMany>
</cfif>
<cfoutput>
<cfset bodyAttr=' style="font-family:arial;font-size:10pt;font-weight:normal;"'>
<cfinclude template="../html_header.cfm">
<form name="f" id="f" action="cfexception.cfm" method="post">
Go back<input name="goBack" id="goBack" class="intgr" size="4" value="#form.goBack#"> &nbsp;
Show how many<input name="showHowMany" id="showHowMany" class="intgr" size="4" value="#form.showHowMany#"> &nbsp;
<input type="button" value="Go" id="btnSbmt">
</form>
<script type="text/javascript">
$(document).ready(function(){
    $("input.intgr").keyup(function (e) { // Filter non-digits from input value.
        if (/\D/g.test($(this).val())) $(this).val($(this).val().replace(/\D/g, ''));
    });
    $("##btnSbmt").click(function(){
        if($("##goBack").val()=="" || $("##goBack").val()=="") alert("Both input fields (Go back and Show how many) are required.");
        else $("##f").submit();
    })
});
</script>
</cfoutput>
<cfset raText=listToArray(exceptionLog,chr(10))>
<cfset raErr=[]>
<cfset goneBack=0>
<cfset showHowMany=1>
<cfoutput>
<cfloop from="#arrayLen(raText)#" to="1" step="-1" index="idxErr">
    <cfif findNoCase("error",raText[idxErr])>
        <cfif goneBack lte form.goBack><cfset goneBack=goneBack+1><!--- display nothing, incr counter --->
        <cfelse><!--- now that we've gone far enough back, start displaying --->
            <strong>#showHowMany#</strong>#raText[idxErr]# <cfif idxErr neq (arrayLen(raText)-1)><br />#raText[idxErr+1]#</cfif><br /><br />
            <cfif int(showHowMany) lte int(form.showHowMany)-1><cfset showHowMany=showHowMany+1>
            <cfelse><cfbreak><!--- incr counter up to number user entered (or default) and then bail out --->
            </cfif>
        </cfif>
    </cfif>
</cfloop>
</body>
</html>
</cfoutput>

也许您想尝试检查Hoth,如果不监视该文件的错误,请在所有ColdFusion应用程序中使用正确的错误处理-