Mule esb:"rolling" 日志文件是默认行为吗?

Mule esb: is "rolling" log files a default behavior?

我有骡子3.8.1。我可以看到我在 %MULE_BASE%/logs/%MULE_APP%.log 中的每个应用程序的日志,就像在 wrapper.conf 文件中定义的一样。我的示例日志文件是:

  1. mule-app-APP1.log.2020-04-07
  2. mule-app-APP1.log
  3. mule-app-APP2.log.2020-04-07
  4. mule-app-APP2.log

我了解默认情况下日志的创建格式为 %MULE_APP%.log,其中 MULE_APPmule-app-<app_name>

我的问题是关于 "rolling" 个文件。我的意思是,每天创建一个新的日志文件。项目中有 log4j2.xml 但只有 AsyncRoot appender 指向 Console appender。我的问题: 是 mule 中的 "rolling" 日志文件行为默认值吗?或者必须有其他人在项目中设置的配置,我错过了?

这不是骡子的行为。这是在 log4j2.xml 文件中定义的 log4j2 行为。如果你有这样的定义

<RollingFile name="file" fileName="${sys:mule.home}${sys:file.separator}logs${sys:file.separator}myApp.log" 
         filePattern="${sys:mule.home}${sys:file.separator}logs${sys:file.separator}myApp-%i.log">
    <PatternLayout pattern="%-5p %d [%t] [event: %X{correlationId}] %c: %m%n" />
    <SizeBasedTriggeringPolicy size="10 MB" />
    <DefaultRolloverStrategy max="10"/>
</RollingFile>

这是在您创建 myApp mule 应用程序时自动生成的,那么您将始终只有 10 个最新的滚动日志。 如果你像这样消除 fileName

     <RollingFile name="file"
filePattern="${sys:mule.home}${sys:file.separator}logs${sys:file.separator}myApp-%i.log">
            <PatternLayout pattern="%-5p %d [%t] [event: %X{correlationId}] %c: %m%n" />
            <SizeBasedTriggeringPolicy size="10 MB" />
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>

然后你就会有你描述的无限滚动日志的行为。

在此处查看更多相关信息 https://simpleflatservice.com/mule4/RollingLogFiles.html