我习惯log4j2.xml将日志写入 Maven 项目的本地文件中。我已经在 pom.xml 中安装了当前的最后一个依赖项<version>2.20.0</version>)。我的log4j2.xml是:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<TimeFilter start="01:00:00" end="07:00:00" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
我在 pom.xml 中的依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.20.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.20.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.20.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我启动主方法时,日志已成功写入文件,但我在 IntelliJ IDEA 控制台中收到消息:
警告 StatusConsoleListener 不推荐使用包扫描来定位插件,并将在未来版本中删除
我该如何解决这个问题?只是想停止在控制台中显示该消息。
我尝试了解 Mulesoft Dataweave 2.0 中的归约函数。
预期结果:
{
"dev": "1",
"test": "2",
"uat": "3",
"prod": "4"
}
Run Code Online (Sandbox Code Playgroud)
我的数据编织代码:
%dw 2.0
var invar = [
{"id": "1", "name": "dev"},
{"id": "2", "name": "test"},
{"id": "3", "name": "uat"},
{"id": "4", "name": "prod"}
]
output application/json
---
// invar reduce() ??? requirment: it must be done with reduce function.
Run Code Online (Sandbox Code Playgroud)
谢谢
当我用“”替换所有有效负载 env 和 xmlns 时,我看到类似“当文档没有根时尝试写入 END_DOCUMENT”的错误。
它抛出错误:
Message : "Trying to write END_DOCUMENT when document has no root (ie. trying to output empty document, while writing Xml.
Trace:
at main (Unknown)" evaluating expression: "payload.replaceAll("env:","").replaceAll("xmlns=\"http://decisionresearch.com/RateMaker\"","")".
Element : map_requestFlow/processors/0 @ map_request:map_request.xml:13 (Set Payload)
Element DSL : <set-payload value="#[payload.replaceAll("env:","").replaceAll("xmlns=\"http://decisionresearch.com/RateMaker\"","")]" doc:name="Set Payload" doc:id="7db57e88-dbd4-4a09-ba05-ea37fb9586fc"></set-payload>
Error type : MULE:EXPRESSION
FlowStack : at map_requestFlow(map_requestFlow/processors/0 @ map_request:map_request.xml:13 (Set Payload))
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
Run Code Online (Sandbox Code Playgroud)
骡子流:
<flow name="map_requestFlow" doc:id="21d0d652-3766-47ed-95aa-a451f62c5776" >
<http:listener doc:name="Listener" doc:id="7312114b-2857-40b3-98cd-f52b628b3a28" config-ref="HTTP_Listener_config" path="/map"/>
<set-payload …Run Code Online (Sandbox Code Playgroud) 我需要解压缩文件。目前,这是在 Mule 3.x 中用 Java 代码完成的,但需要在 Mule 4 中解压文件,我们如何在 Mule 4 中实现这一点?
尝试在 Mule 4 中使用相同的 Mule 3 Java 代码,但 Mule 4 不支持某些方法/函数。有任何代码片段/建议吗?
假设我有三个字段
{
"Name": "Ben",
"City": "London",
"Country": "United Kingdom"
}
Run Code Online (Sandbox Code Playgroud)
现在,当这些字段中的任何一个为空时,我不希望将其连接到最终响应中。
示例:如果所有三个字段均已填充,则最终结果:"Ben AND London AND United Kingdom",如果只有两个(假设城市和国家/地区):"London AND United Kingdom",如果只有一个:"Ben"