当前位置: 首页 > 知识库问答 >
问题:

Mule esb:“滚动”日志文件是默认行为吗?

西门梓
2023-03-14

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

  1. <code>mule-app-APP1.log。2020-04-07
  2. mule-app-APP1.log
  3. <code>mule-app-APP2.log。2020-04-07
  4. <code>mule-app-APP2.log</code>

我理解,默认情况下,日志是以%MULE_APP%的格式创建的。日志其中MULE_APP是骡子应用程序-

我的问题是关于“滚动”文件。我的意思是,每天创建一个新的日志文件。项目中有log4j2.xml,但只有AsyncRootappender指向控制台appender。我的问题是:“滚动”日志文件的行为是骡子的默认行为吗?或者一定有其他人在项目中设置的配置,我错过了?


共有1个答案

昌勇锐
2023-03-14

这不是骡子的行为。这是在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 Application时自动生成的,那么您将永远只有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

 类似资料:
  • 使用Log4j2.8,有没有一种方法可以让我的日志每天旋转,但使当前文件具有恒定的名称? 示例: 我尝试了以下配置,但没有成功: 此外,当我在某一天首次启动应用程序时,我会遇到以下例外情况:

  • 我好像拿不到滚动日志文件。 我的logback.xml配置有以下内容: 有意思。SIFT中“unknown.log”文件中的条目在分钟的停止处停止。之后,不会向SIFT文件写入任何内容,但我一直在catalina.out中获取条目:

  • 问题内容: 嗨,我是编程概念的新手,我倾向于使用log4j解决问题。因此,我正在阅读Log4j教程,在其中找到了以下代码: 但是在eclipse中运行之后,我无法找到生成的日志文件。谁能告诉文件在哪里转储?还可以为我提供一些最佳站点的帮助,从中我可以从零开始学习Log4j和Java Doc。谢谢!! 问题答案: 要将日志输出重定向到文件,您需要使用FileAppender并需要在log4j.pro

  • 问题内容: 在应用程序中,我可以使用以下命令指定自定义日志文件: 但是,如果我不指定一个,它会去哪儿? 我在以下任何文件夹中找不到它: 我 不 具备或任何其他日志记录的依赖。 我希望有类似的东西,因为默认配置运行嵌入式Tomcat: 问题答案: Spring Boot使用Commons Logging进行所有内部日志记录,但是使底层日志实现保持打开状态。 提供了Java Util Logging,

  • 我们使用filebeat刮取log.json文件并将其推送到elk服务器 我想在日志目录中添加一个op.json自定义json滚动日志文件。这是为了收集有关调用的操作和perf信息的信息。 基本上,我只想使用一个管理滚动文件的类。在类中,将有一个logOp函数来访问java对象,并对其进行序列化,在json输出中添加一些标准日志字段。 -------------------------------

  • Spring boot附带了几个默认的日志框架配置,包括Log4j2。虽然Spring boot参考手册中有关于日志记录的详细文档,但它没有提到默认日志模式的具体配置方式和位置,这使得重写此模式变得很困难。 问题是Spring Boot在哪里为Log4j2配置默认的日志模式? 到目前为止,我已经查看了Spring Boot的以下位置: