mule anypoint Studio中的Mel表情

Mel expression in mule anypoint Studio

是否有 MEL 表达式来查找日志级别并将其存储在字符串变量中。我搜索了 Google 但没有找到。谁能帮帮我?

通过 MEL,您可以使用

访问记录器
#[org.apache.commons.logging.LogFactory.getLog(loggerName)]

Log接口不包含任何获取其级别的直接方法,但您可以知道某个级别是否处于活动状态。因此,您可以使用以下表达式在 MEL 中获取记录器级别:

#[log = org.apache.commons.logging.LogFactory.getLog(loggerName); return log.isTraceEnabled() ? "TRACE" : log.isDebugEnabled() ? "DEBUG" : log.isInfoEnabled() ? "INFO" : log.isWarnEnabled() ? "WARN" : log.isErrorEnabled() ? "ERROR" : log.isFatalEnabled() ? "FATAL" : "OFF"]

出于多种原因,没有办法做这样的事情。首先,没有日志级别这样的东西,而是包的日志级别或 类 和默认日志级别的组合,然后每个附加程序也将具有最低日志级别,等等

Mule 通常也使用 SLF4J,但不一定所有代码都会使用。更复杂的是,在即将发布的 3.6 中,日志系统发生了很大变化。

如果我必须这样做,我可能会将您的 log4j.properties 作为具有级别设置的 maven 处理资源,然后还会有一个 属性 文件,骡子应该将其用作 属性 占位符,将 属性 也设置为已处理的资源。