2017-05-01 9 views
0

エラーが発生しても電子メールによる通知はありませんが、ColdFusionのapplication.logで終了します。 ColdFusionには、このファイルが変更されたときに電子メールを送信する方法があります(セッションローテーションやその他の情報レベルのログエントリだけでなく)エラーですか?Coldfusion Administratorからエラー報告を電子メールで送信

+0

たぶん、あなたはホスhttps://github.com/aarongreenlee/Hoth – Vlad

+2

ドゥがないようにしようと確認したいですそのファイルのエラーを監視し、ColdFusionアプリケーションのすべてで適切なエラー処理を使用する - [ColdFusionでの処理エラー](https://helpx.adobe.com/coldfusion/developing-applications/developing-cfml-applications/handling-errors) html) –

答えて

1

これは解決策ではありませんが、正しい方向に向かう可能性があります。私はエラーログファイルを見て、電子メールを送るCFに取り組んでいません - あなたはそれをチェックするためにスケジュールされたタスクを設定したいでしょう。しかし、私はIISが処理するためにCFにエラーを渡したいと思っていなかったので、タイプ500のサーバーエラーが私の側にありましたと言います。ここでは、私がエラーログを開き、一番下に戻り、逆に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> 
関連する問題