【问题标题】:How to disable request-level logging with the AWS Java SDK?如何使用 AWS Java 开发工具包禁用请求级日志记录?
【发布时间】:2015-09-07 12:41:56
【问题描述】:

我正在尝试禁用 AWS Java SDK 与 Linux 上的 Tomcat 8 的请求级别日志记录。这是 tomcat 8 的全新安装,我的测试 servlet(有效)只是打印到标准输出,默认情况下是 /var/log/tomcat8/catalina.out

我想通过 AWS 开发工具包禁用像 - Sending Request... 这样的请求级别日志记录,因此我尝试在 /usr/share/tomcat8/conf/logging.properties 的日志记录配置中添加以下内容:

log4j.logger.com.amazonaws = WARN
log4j.logger.org.apache.http.wire = WARN
log4j.logger.com.amazonaws.request = WARN

...就像docs say here,但它仍在进行详细的日志记录。我的tomcat启动信息显示正在使用logging.properties文件:

org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/share/tomcat8/conf/logging.properties  

我还有什么需要做的吗?

【问题讨论】:

    标签: java tomcat amazon-web-services logging aws-sdk


    【解决方案1】:

    我遇到了同样的问题,以上都没有实际帮助。

    创建一个 logback.xml 并将其放在类路径中,并使用以下配置修复它:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <logger name="org.apache" level="ERROR" />
        <logger name="httpclient" level="ERROR" />
    </configuration>
    

    希望对其他人有所帮助。

    【讨论】:

    • 终于,我用这个实现了
    【解决方案2】:

    “logging.properties”是 Java Util Logging (JUL) 的配置文件,它是一个与 Log4J 不同的框架。您可以尝试在 classpath 的根目录 中创建一个 Log4J 配置文件“log4j.properties”并从上面插入代码:“log4j.logger.com.amazonaws =警告”。

    【讨论】:

    【解决方案3】:

    按标记

    也许我应该更清楚一点:不需要 log4j 来控制 SDK 中的日志记录。 SDK 使用 Apache Commons Logging,正如我已经提到的,这是一个行业标准。 Commons Logging 只是底层日志实现的调度层,因此客户可以插入任何兼容的日志框架并使其工作。我在示例中使用了 log4j,因为它是最常用的一种,因此最有可能在这个公共论坛中提供帮助。

    如果您的日志系统与 Commons Logging 一起使用,那么您已经知道如何配置它。如果没有,请随意通过将适当的命令行参数传递给您的 JVM 来完全关闭 Commons Logging,就像我在上面的响应中一样。如果由于某种原因您无法更改应用程序的 java 命令行,那么您可以在 Main 类中使用以下 sn-p,效果相同:

    static {
          System.setProperty("org.apache.commons.logging.Log",
                             "org.apache.commons.logging.impl.NoOpLog");
       }
    

    再次声明:SDK 不需要 log4j。不幸的是,由于所有底层日志实现的配置不同,这意味着除非我们知道您的应用程序使用哪种实现,否则我们无法准确地告诉您如何配置日志记录。因此,我们经常在示例中使用 log4j 语法。

    有关 Apache Commons Logging 如何工作以及如何配置它的更多信息,请阅读:

    http://commons.apache.org/logging/guide.html

    【讨论】:

      【解决方案4】:

      如果您使用 Logback,而不是 Log4J 或 Java14 日志记录,请将以下内容放入 logback.xml:

      <configuration>
          ...
      
          <logger name="org.apache.http.wire" level="WARN"/>
          <logger name="com.amazonaws" level="WARN"/>
          ...    
      

      指定外部 logback.xml 并使用 Spring Boot

      -Dlogging.config="C:\logbacs\logback.xml"
      

      如果你不是

      -Dlogback.configurationFile=file:///C:/logbacs/logback.xml
      

      Logback configuration via jvm argument

      【讨论】:

        猜你喜欢
        • 2021-09-05
        • 1970-01-01
        • 1970-01-01
        • 2016-08-27
        • 1970-01-01
        • 2016-05-10
        • 1970-01-01
        • 2016-07-11
        • 1970-01-01
        相关资源
        最近更新 更多