【问题标题】:Spring Integration : Logging using logging-channel-adapter + log4jSpring 集成:使用 logging-channel-adapter + log4j 进行日志记录
【发布时间】:2015-05-08 10:36:49
【问题描述】:

我正在尝试使用 log4j 在数据库中记录一些详细信息。我已将 logging-channel-adapter 配置为窃听器。

所需的记录器是 dbappender,但同样不起作用。

spring-integration.xml

<int:wire-tap channel="logChannel"/>
<int:logging-channel-adapter id="logChannel" level="INFO" logger-name="AUDIT_the.details" />

log4j.xml

<logger name="AUDIT_the.details">
        <level value="INFO" />
        <appender-ref ref="asyncAppender" />
    </logger>

    <appender name="asyncAppender" class="org.apache.log4j.AsyncAppender">
        <param name="blocking" value="false" />
        <appender-ref ref="dbAppender" />
    </appender>

    <appender name="dbAppender" class="LoggerTemplate">
        <param name="driver" value="oracle.jdbc.OracleDriver" />
        <param name="sql"
            value="SQL_QUERY" />
        <param name="Threshold" value="info" />
    </appender>

【问题讨论】:

  • 好吧,如果你说它不起作用,你至少应该指出它在哪里。您没有尝试过简单地记录到控制台吗?或者它如何与 direct appender 一起工作,绕过 AsyncAppender ?没有足够的信息来找出问题...而且...LoggerTemplate 是什么?

标签: log4j spring-integration


【解决方案1】:

您已经配置了窃听通道,但您还需要将其放入要拦截的通道的某个拦截器标签中。不确定您是否已这样做,因为它在您的帖子中丢失。下面是一个例子。

<integration:channel id="mydbchannel-to-intercept">
    <integration:interceptors>
        <int:wire-tap channel="logChannel"/>
    </integration:interceptors>
</integration:channel>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多