Drop-wizard请求响应日志记录

卡蒂克·贾加尔(Kartik Jajal)

我想将dropwizard中的每个请求和响应记录到不同的文件中。例如,我希望所有请求都记录在/var/log/applicationname-request.log中,所有响应都记录在/var/log/applicationname-response.log中

有什么方法可以实现相同目标?

条件

不幸的是,DropWizard当前不支持此功能。有关更多信息,请参见此生动的讨论

幸运的是,如果您愿意放弃使用DropWizard一起配置日志记录,则有一个解决方法。在您的run方法中的某处调用以下代码以重置日志记录,并使用sfl4j的标准机制对其进行重新配置:

LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
context.reset();
ContextInitializer initializer = new ContextInitializer(context);
initializer.autoConfig();

然后,可以通过添加logback.xml到类路径并进行如下配置来配置日志记录

<configuration>
  <appender name="REQUEST" class="ch.qos.logback.core.FileAppender">
    <file>/var/log/applicationname-request.log</file>
    <append>false</append>
    <encoder>
      <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="RESPONSE" class="ch.qos.logback.core.FileAppender">
    <file>/var/log/applicationame-response.log</file>
    <append>false</append>
    <encoder>
      <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <logger name="org.example.request">
    <level value="DEBUG" />
    <appender-ref ref="REQUEST" />
  </logger>

  <logger name="org.example.response">
    <level value="DEBUG" />
    <appender-ref ref="RESPONSE" />
  </logger>

  <root level="warn">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

然后,您可以在资源中获取那些相应的记录器,然后注销:

static final Logger REQUEST_LOG = LoggerFactory.getLogger("org.example.request");
static final Logger RESPONSE_LOG = LoggerFactory.getLogger("org.example.response");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jax-WS请求-响应有效负载日志记录中的线程安全

来自分类Dev

OrientDb DROP PROPERTY不会删除记录中的属性值

来自分类Dev

为什么不要求drop记录器实现?

来自分类Dev

CXF:记录请求和响应

来自分类Dev

转到HTTP ListenAndServe日志记录响应

来自分类Dev

用于流式响应的 Spring sleuth 日志记录

来自分类Dev

一次通过自定义跟踪侦听器进行WCF请求-响应日志记录

来自分类Dev

axis2带请求的日志响应

来自分类Dev

将SOAP请求/响应写入日志文件

来自分类Dev

抑制特定ActiveRecord请求的Rails日志记录

来自分类Dev

请求的API平台日志记录头

来自分类Dev

套接字请求无日志记录

来自分类Dev

Mup部署在DO Drop上被杀死,但日志中没有错误:(

来自分类Dev

Python日志记录:属于一个请求的组日志

来自分类Dev

使用日志记录模块有选择地记录请求

来自分类Dev

Golang记录HTTP响应(除了请求)

来自分类Dev

SoapExtension不记录请求和响应

来自分类Dev

Cloudformation中的“记录完整的请求/响应数据”

来自分类Dev

记录WebClient的请求,响应和异常

来自分类Dev

如何记录 HttpClient 请求,响应包括正文?

来自分类Dev

如何记录传入的请求和响应?

来自分类Dev

记录 alamofire 上传图片请求和响应

来自分类Dev

发送HTTP响应后如何记录HTTP请求/响应信息?

来自分类Dev

AWS PHP SDK v3中的响应日志记录

来自分类Dev

来自服务器的日志记录响应不起作用

来自分类Dev

WCF日志记录:客户端未收到响应

来自分类Dev

使用意外日志记录来响应本机更改状态

来自分类Dev

Retrofit 2.x:用于请求和响应的日志头

来自分类Dev

根据日志中的字段组合请求和响应-ELK

Related 相关文章

热门标签

归档