データベースに情報を記録するアプリケーションがあり、エラーが発生した場合はログ ファイルに記録します。ユーザーは世界中に広がっています。何か問題が発生した場合は、問題のタイムスタンプを記録したいと考えていますが、タイムスタンプを統一する必要があります。つまり、香港とカリフォルニアの誰かが適切なタイムゾーン オフセットを持つ同じタイムスタンプを持つ必要があります。CFでこれを行う方法がわかりません。
日付を扱うことは、常に私の 1 週間のスキルセットであり、これを理解するのにいくらかの助けをいただければ幸いです。
ログファイルを書き出すコードは次のとおりです
<cftry>
... insert into db here ...
<cfcatch type="any">
<cfset error_msg = '#createodbcdatetime(now())#|#cfcatch.Message#|#cfcatch.Detail#|#cgi.HTTP_REFERER#|#cgi.SERVER_NAME#|#cgi.SCRIPT_NAME#|#cgi.QUERY_STRING#'>
<cftry>
<cfif FileExists(ExpandPath(#log_name#))>
<cflock name="WebSiteErrorLog_Lock" type="exclusive" timeout="30">
<cffile action="append" addnewline="yes" file="#currentDirectory##log_name#" mode="777" output="#error_msg#">
</cflock>
<cfelse>
<cflock name="WebSiteErrorLog_Lock" type="exclusive" timeout="30">
<cffile action="write" addnewline="yes" file="#currentDirectory##log_name#" mode="777" output="#error_msg#">
</cflock>
</cfif>
<cfcatch type="any"></cfcatch>
</cftry>
</cfcatch>
しかし、このSOの質問に本当に必要なのはおそらくこの行だけです:
<cfset error_msg = '#createodbcdatetime(now())#|#cfcatch.Message#|#cfcatch.Detail#|#cgi.HTTP_REFERER#|#cgi.SER
ティア