首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定我是在Cloudhub上运行还是在本地运行

确定我是在Cloudhub上运行还是在本地运行
EN

Stack Overflow用户
提问于 2017-03-17 17:24:15
回答 1查看 123关注 0票数 1

我正在构建一个Mulesoft/Anypoint应用程序,用于在Cloudhub上部署,并且出于诊断目的,我希望能够(从应用程序中)确定它是运行在Cloudhub上,还是在本地开发机器上的任意点Studio中运行:

  • 在Cloudhub上,我想使用Cloudhub连接器为特殊情况创建通知--但是使用该连接器会在本地导致异常。
  • 在我的本地机器上,我想使用非常冗长的日志,完全转储有效载荷(#[message.payloadAs(java.lang.String)]),但希望在Cloudhub上使用更简洁的日志记录。

区分当前运行时的最佳方法是什么?我找不出任何自动系统属性来公开这些信息。

(我意识到我可以设置自己的属性,名为system.env=LOCAL,并使用system.env=CLOUDHUB覆盖它以进行部署,但我很好奇平台是否已经以某种方式提供了这些信息。)

EN

回答 1

Stack Overflow用户

发布于 2017-03-17 17:24:15

据我所知,最好的方法是使用属性。您使用的特定名称和值并不重要,只要您是一致的。下面是一个例子:

在本地dev环境中,在mule-app.properties中设置以下属性

代码语言:javascript
复制
system.environment=DEV

部署到Cloudhub时,使用部署工具将该属性更改为:

代码语言:javascript
复制
system.environment=CLOUDHUB

然后,在消息处理器中,可以引用以下属性:

代码语言:javascript
复制
<logger 
    message="#['${system.environment}' == 'DEV' ? 'verbose log message' : 'concise log message']"        
    level="ERROR"
    doc:name="Exception Logger"
/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42863696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档