在 ColdFusion 中,有没有办法确定代码在哪个服务器上运行?

2022-09-02 20:10:41

在 ColdFusion 代码中,有没有办法确定代码在哪个服务器上执行?我几乎没有负载平衡的 ColdFusion 服务器。我希望当我捕获异常时能够知道代码在哪个服务器上运行,以便我可以在日志记录/报告代码中包含该信息。

服务器是Windows 2003 / IIS,如果这很重要的话。我很想知道如何在Linux / Apache中做到这一点。:-)


答案 1

这可能会进一步帮助您...

<cfscript>
machineName = createObject("java", "java.net.InetAddress").localhost.getCanonicalHostName();
hostaddress = createObject("java", "java.net.InetAddress").localhost.getHostAddress();
</cfscript>
<cfdump var="#machineName#"><br />
<cfdump var="#hostaddress#"><br />

答案 2

您可以使用服务器变量,例如

server.coldfusion.appserver 
server.coldfusion.expiration    
server.coldfusion.productlevel
server.coldfusion.productname   
server.coldfusion.productversion
server.coldfusion.rootdir   
server.coldfusion.serialnumber  
server.coldfusion.supportedlocales
server.os.additionalinformation 
server.os.arch  
server.os.buildnumber   
server.os.name  
server.os.version

将代码调整到特定平台。执行 a 以查看适用于您的 Coldfusion 版本的内容。<cfdump var=”#SERVER#” />

您可以通过 Java 调用获取主机名:

<cfscript>
machineName = createObject("java", "java.net.InetAddress").localhost.getHostName();
instanceName = createObject("java", "jrunx.kernel.JRun").getServerName();
</cfscript>

推荐