如何在Spring XD中实现自定义模块的日志记录?

时间:2016-02-26 10:46:35

标签: spring logging slf4j logback spring-xd

调试部署到Spring XD运行时的自定义模块(版本1.3.1-RELEASE)并不容易。

我知道log下沉,但是我想要达到的目标不同。

我想将自己的日志消息添加到XD日志中(理想情况下是STDOUT及其自己的日志)。这些日志消息是使用slf4j API在我的自定义模块(在本例中为处理器)中生成的。

我已添加:

  1. org.slf4j.Logger#info调用处理器类
  2. logback-classic依赖pom.xml(没有版本,因为它由spring-xd-module-parent dependencyManagement
  3. 管理
  4. logback.xmlresources目录
  5. logback-test.xmltest resources目录
  6. 在集成测试调用期间(通过STDOUT),日志消息会记录到SingleNodeIntegrationTestSupport,但是在上载模块或使用流模块时,它们不会出现在XD日志中。< / p>

    logback.xml内容(-test相同):

            

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    
    <logger name="com.maxromanovsky" level="debug" />
    <logger name="org.springframework" level="warn" />
    <logger name="org.apache.zookeeper" level="error" />
    
    <root level="warn">
        <appender-ref ref="STDOUT" />
    </root>
    
         

1 个答案:

答案 0 :(得分:2)

可以在xd/configxd-container-logback.groovyxd-singlenode-logback.groovy)中找到容器注销配置文件。

您需要在那里添加自定义记录器配置。