【问题标题】:Logs getting flooded with AWS Http calls日志被 AWS Http 调用淹没
【发布时间】:2019-05-30 12:18:07
【问题描述】:

我们面临的问题是,当我们在 log4j 中打开 http 日志记录时,我们的日志文件被淹没了。

我们在 log4j 中开启了什么

<AsyncLogger name="org.mule.module.http.internal.HttpMessageLogger" level="DEBUG"/>

日志文件中被淹没的内容,

DEBUG 2019-05-30 17:10:27,841 [pool-70-thread-5] com.amazonaws.1.11.453.shade.request: Received successful response: 200, AWS Request ID: 3c336641-******* 
DEBUG 2019-05-30 17:10:27,841 [pool-70-thread-5] com.amazonaws.1.11.453.shade.requestId: x-amzn-RequestId: 3c336641-*********** DEBUG 2019-05-30 17:10:27,853 [pool-70-thread-6] com.amazonaws.1.11.453.shade.request: Sending Request: POST https://sqs.us-east-1.amazonaws.com / ***** 
DEBUG 2019-05-30 17:10:27,853 [pool-70-thread-6] com.amazonaws.1.11.453.shade.auth.AWS4Signer: AWS4 Canonical Request: '"POST

请建议,我们需要做什么来关闭这些日志,我们希望 HTTP 记录器为我们的其他 http 请求调试打开。

【问题讨论】:

  • 如果你是 turn on http logging ,请关闭它。你打开了HttpMessageLogger。因此,登录它的消息将显示给您。此外,您可以将日志级别更改为警告,例如
  • @Dred,我们需要其他 Http 日志进行调试,我们不想要的是 AWS http 日志。
  • 嗯。此外,您可以尝试将记录器制作为完整的包,但作为附加程序,仅使用 HttpMessageLogger 我认为......但是......让我们考虑一下。看那个article的末尾
  • 哦,我找到了...here就是你想要的。

标签: java logging aws-sdk log4j2


【解决方案1】:

要最小化日志,有两种选择。

选项-1 您必须在 log4j2 配置中添加以下配置。识别后可以添加多个包。

<logger name="com.amazonaws" level="OFF">
        <AppenderRef ref="Console"/>        
        <AppenderRef ref="File"/> 
</logger>

选项 2 您可以在配置文件中使用以下内容。

<AsyncLogger name="org.mule.module.http.internal.HttpMessageLogger" level="ERROR"/>

在这种情况下,只会打印错误详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 2020-12-16
    • 2017-01-22
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多