当前位置: 首页 > 面试题库 >

如何使Spring WebServices记录所有SOAP请求?

胡霖
2023-03-14
问题内容

我需要所有已登录的SOAP请求CommonLogFormat,以及持续时间(处理请求所花费的时间)。

最好的方法是什么?看起来可以为Spring WebServices配置log4j,但是它将记录所有值吗?

将以下行添加到log4j.xml

<appender
  name="SPRINGLOGFILE"
  class="org.apache.log4j.RollingFileAppender">
  <param
    name="File"
    value="logs/spring.log" />
  <param
    name="Append"
    value="true" />
  <param
    name="MaxFileSize"
    value="1MB" />
  <param
    name="MaxBackupIndex"
    value="5" />
  <layout class="org.apache.log4j.PatternLayout">
    <param
      name="ConversionPattern"
      value="%d %-5p %c{2} - %m%n" />
  </layout>
</appender>



<logger name="org.springframework.ws">
  <priority value="DEBUG" />
  <appender-ref ref="SPRINGLOGFILE" />
</logger>

编辑:我们实际上是在使用SLF4J,而不是Log4j。另外,看起来可以通过配置PayloadLoggingInterceptor来做到这一点

但是我不确定日志消息会去哪里。我将该拦截器添加到了我们的拦截器中,但没有看到任何日志消息。


问题答案:

对于Spring Boot项目,application.properties在我下面添加了以下内容:

logging.level.org.springframework.web=DEBUG
logging.level.org.springframework.ws.client.MessageTracing.sent=DEBUG
logging.level.org.springframework.ws.server.MessageTracing.sent=DEBUG
logging.level.org.springframework.ws.client.MessageTracing.received=TRACE
logging.level.org.springframework.ws.server.MessageTracing.received=TRACE


 类似资料:
  • 应用程序应异步(在单独的线程中)记录以下信息,而不会影响客户端。 请求HTTP方法和URI 如果我们在过滤器中使用,那么spring将无法再次使用它进行json到对象的映射。在输入流到对象映射期间的某个地方,我们可以插入记录器吗? 更新: 我们可以在MessageConverter中编写日志代码,但这似乎不是一个好主意。

  • 我有一个4个测试套件的soap项目,每个测试套件都有一些测试用例,每个测试用例都有一些测试步骤[Soap请求,Groovy脚本]我能够使用下面提到的代码访问所有属性,但是,代码在本地系统中写入空白请求/响应文件** **请帮助解决这个问题,**

  • 如何在不创建多个字符串的情况下获得所有列和记录?假设我在那个表中有10列,我不需要把它存储到一个对象中 谢了。

  • 我在(裸机)集群中运行kube dns。我知道这是可行的,因为我可以将服务插入到我创建的名称中,并获得主机条目: 我不知道怎么做的是列出kube dns持有的所有记录。我尝试了一些标准的DNS技巧,比如dig和,但都没有成功。但无论如何,库伯内特斯自己一定有办法做到这一点。我试着检查配置地图,但没有找到我要找的东西。

  • 原关闭原因未解决 有没有办法列出一个域的所有DNS记录? 我知道诸如挖掘和查找之类的事情,但它们仅限于此。例如,如果我有一个子域a记录作为 那么除非我特别要求,例如。 我看不见它。 是否有任何方法(除了通过转到DNS管理器查看记录外)可以准确查看所有DNS记录?

  • 问题内容: Python中是否有办法获取所有已定义记录器的列表? 我的意思是,是否存在某种东西,例如哪个会返回对象列表? 我搜索了python.logging文档,但找不到这种方法。 先感谢您。 问题答案: 记录器由实例保存在层次结构中。您可以在根记录器上查询 它所知道的记录器。 调用可确保将其保存的所有占位符记录器添加到列表中后,都将被完全初始化。