有人在Mule应用程序中使用了logback吗?

有人在Mule应用程序中使用了logback吗?,mule,logback,Mule,Logback,是否有人能够对部署在Mule中的应用程序使用logback。 我已经配置了一个文件appender,并在我的类路径中获得了logback.xml。然而,这似乎没有得到重视 请注意,Mule可能仍在使用自己的默认log4j实现,因为我看到Mule.log确实获得了一些日志记录,尽管不是我试图记录的日志记录,这让我感觉我的显式日志事件正在一起丢失。 Mule默认使用log4j,但我猜我们可以覆盖它吗? 这里有一些文档,但不是很有帮助 我想要的是只为我的应用程序使用Logback,而不更改Mule系

是否有人能够对部署在Mule中的应用程序使用logback。 我已经配置了一个文件appender,并在我的类路径中获得了logback.xml。然而,这似乎没有得到重视

请注意,Mule可能仍在使用自己的默认log4j实现,因为我看到Mule.log确实获得了一些日志记录,尽管不是我试图记录的日志记录,这让我感觉我的显式日志事件正在一起丢失。 Mule默认使用log4j,但我猜我们可以覆盖它吗? 这里有一些文档,但不是很有帮助

我想要的是只为我的应用程序使用Logback,而不更改Mule系统级JAR和配置

供参考;我试图在logback.xml中使用以下内容

 <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>D:\logs\mule\myauto.log</file>
        <encoder>
              <pattern>%d [%p] <%c> %m%n</pattern>
        </encoder>
  </appender>

  <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="FILE" />
  </appender>

  <logger name="automationlogger" level="INFO">

        <appender-ref ref="asyncFileAppender" />
  </logger>

D:\logs\mule\myauto.log
%d[%p]%m%n

我不熟悉mule,但您可以始终使用slf4j+logback,这将使您能够在slf4j的帮助下重定向对log4j的日志调用。

每个应用程序的日志记录都硬编码为slf4j/log4j,因为mule模块日志记录覆盖了mule团队必须更改的一些slf4j类以使其工作


如果你看一下,你可以看到哪些类被着色了,以及为什么这不允许你使用logback,除非直接破解mule代码。

我尝试用logback替换log4j jar文件,但没有成功。包装器使用log4j进行日志记录,因此您需要在/lib/boot dir中使用log4j jar。如果我添加logback jar而不删除log4j jar,则会得到以下警告

SLF4J:在[jar:file:/C:/dev/mule-standalone-3.3.1/lib/boot/logback-classic-1.0.9.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定 SLF4J:在[jar:file:/C:/dev/mule-standalone-3.3.1/lib/boot/mule-module-logging-3.3.1.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定

现在删除mule日志模块并添加jcl-over-slf4j。服务器启动并拾取config文件夹中的logback.xml。但是mule特定于应用程序的日志记录已经消失了

最后,这就是我所做的

删除:mule-module-LOGING-3.3.1


添加:logback-classic-1.0.9、logback-core-1.0.9、jcl-over-slf4j-1.7.2、log4j-over-slf4j-1.7.2

谢谢。我猜Mule对log4j有着根深蒂固的依赖。我用treid替换mule日志模块和log4jjars/configs,而包装器只是拒绝启动应用程序。即使是独立运行也无济于事。在Mule网站上,他们确实提到了这是可能的,但没有太多细节。我想我将不得不在Mule内部给logback一个miss,除非他们开始支持它:(我会快速查看一下。谢谢。对不起,你能再详细说明一下吗?那么,目前你是否正在通过自己的应用程序获得Mule服务器日志以及日志?